JSP-toimintotunnisteet
Mikä on JSP Action?
JSP-toiminnot käyttävät XML-syntaksin rakennetta servlet-moottorin toiminnan ohjaamiseen. Voimme lisätä tiedoston dynaamisesti, käyttää uudelleen papukomponentteja, välittää käyttäjän toiselle sivulle jne. JSP-toimintojen, kuten sisällyttämisen ja edelleenlähetyksen, kautta. Toisin kuin käskyt, toimet arvioidaan uudelleen aina, kun sivua käytetään.
Syntaksi:
<jsp:action_name attribute="value" />
Tässä opetusohjelmassa opit JSP-standarditoiminnoista. JSP Standard Action -tageja käytetään servlet-moottorin toiminnan ohjaamiseen.
Luettelo JSP:n yleisesti käytetyistä toimintotunnisteista
JSP:ssä on 11 tyyppiä vakiotoimintotunnisteita, ja tässä on täydellinen luettelo niistä.
Toimintotunnisteen nimi | Syntaksi | Tuotetiedot |
---|---|---|
jsp:useBean | Käytetään papujen kutsumiseen ja käyttämiseen JSP-sivulla. | |
jsp:include | Sisällyttää toisen JSP-tiedoston nykyiseen tiedostoon pyynnön käsittelyn aikana. | |
jsp:setProperty | Asettaa pavun ominaisuuden. | |
jsp:getProperty | Hakee pavun ominaisuuden ja muuntaa sen merkkijonoksi tulostamista varten. | |
jsp: eteenpäin | Välittää pyynnön toiselle JSP- tai staattiselle sivulle. | |
jsp:plugin | Esittelee Java komponentit, kuten sovelmat tai pavut, JSP:hen ja luo tunnisteet automaattisesti. | |
jsp:body | Määrittää XML-elementit, jotka luodaan dynaamisesti pyynnön käsittelyn aikana. | |
jsp:teksti | malliteksti | Käytetään mallitekstin lisäämiseen JSP-sivuille, jotka sisältävät vain tekstiä ja EL-lausekkeita. |
jsp:param | Ohjaa parametrit jsp:plugin-toiminnossa lisätietojen lisäämiseksi. | |
jsp:attribute | Määrittää dynaamisesti luodut XML-attribuutit. | |
jsp:lähtö | Määrittää tulosteessa käytettävän XML- tai DOCTYPE-määrityksen. |
jsp:useBean
- Tätä toiminnon nimeä käytetään, kun haluamme käyttää papuja JSP-sivulla.
- Tämän tagin avulla voimme helposti kutsua papua.
jsp:n syntaksi: UseBean:
<jsp:useBean id="" class="" />
Tässä se määrittää tämän papun tunnisteen ja luokka on papuluokan täysi polku
Esimerkiksi:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Action JSP1</title> </head> <body> <jsp:useBean id="name" class="demotest.DemoClass"> </body> </html>
Koodin selitys:
Koodirivi 10: Yllä olevassa koodissa käytämme papun "bean id" ja "class polku".
jsp:include
- Sitä käytettiin myös lisäämään jsp-tiedosto toiseen tiedostoon, aivan kuten include ohjeet.
- Se lisätään pyynnön käsittelyvaiheessa
jsp:include syntaksi
<jsp:include page="page URL" flush="true/false">
Esimerkiksi:
Action_jsp2 (koodirivi 10) lisäämme date.jsp-tiedoston
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Date Guru JSP</title> </head> <body> <jsp:include page="date.jsp" flush="true" /> </body> </html>
Date.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> <p> Today's date: <%= {new java.util.Date()).toLocaleString()%> </p> </body> </html>
Koodin selitys:
Action_jsp2.jsp
Koodirivi 10: Ensimmäisessä tiedostossa sisällytetään date.jsp-tiedosto tiedostoon action_jsp2.jsp
Date.jsp:
Koodirivi 11: Tulostamme tämän päivän päivämäärän date.jsp:n koodiriville 11
Kun suoritat koodin, tulos on seuraava.
lähtö:
- Se näyttää tämän päivän päivämäärän kellonajan kanssa, koska päivämäärätiedosto sisältyy pää-jsp-tiedostoon
jsp:setProperty
- Tätä JSP:n vakiotoimintojen ominaisuutta käytetään määrittämään papujen ominaisuus.
- Meidän on määritettävä papu ennen ominaisuuden määrittämistä
Syntaksi:
<jsp:setproperty name="" property="" >
Tässä nimi määrittelee papun, jonka ominaisuus on asetettu, ja ominaisuuden, jonka haluamme asettaa. Voimme myös asettaa arvon ja param-attribuutin. Tässä arvo ei ole pakollinen, ja se määrittää ominaisuudelle määritetyn arvon. Tässä param on pyyntöparametrin nimi, jonka avulla arvo voidaan noutaa. Esimerkki setpropertysta esitetään alla getproperty:n kanssa
jsp:getProperty
- Tätä ominaisuutta käytetään papun omaisuuden hankkimiseen.
- Se muunnetaan merkkijonoksi ja lisätään lopulta ulostuloon.
Syntaksi:
<jsp:getAttribute name="" property="" >
Tässä papun nimi, josta ominaisuus on haettava, ja papu tulisi määrittää. Ominaisuusattribuutti on noudettavan papuominaisuuden nimi.
Esimerkki setPropertystä ja getPropertysta:
TestBean.java:
package demotest; import java.iO.Serializable; public class TestBean implements Serializable{ private String msg = "null"; public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } }
Action_jsp3.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Guru Action 3</title> </head> <body> <jsp:useBean id="GuruTest" class="demotest.TestBean" /> <jsp:setProperty name="GuruTest" property="msg" value="GuruTutorial" /> <jsp:getProperty name="GuruTest" property="msg" /> </body> </html>
Koodin selitys:
TestBean.java:
Koodirivi 5: TheTestBean toteuttaa serialisoitavaa luokkaa. Se on papuluokka, jonka koodissa on getterien asettajat.
Koodirivi 7: Tässä otamme yksityisen merkkijonomuuttujan msg "nolla"
Koodirivit 9-14: Tässä käytämme muuttujan "msg" saajia ja asettajia.
Action_jsp3.jsp
Koodirivi 10: Tässä käytetään "useBean" tagia, jossa se määrittää papu eli TestBean jota tulee käyttää tässä jsp-luokassa
Koodirivi 11: Tässä asetamme bean TestBeanin ominaisuuden msg arvoksi "GuruTutorial".
CodeLine12: Tässä getPropertyllä saamme bean TestBeanin eli GuruTutorialin ominaisuuden arvon, joka on tuotteessa
Kun suoritat yllä olevan koodin, saat seuraavan tulosteen:
lähtö:
Tässä esimerkissä TestBeanin avulla yritämme asettaa ominaisuuden "gurutest" käyttämällä setPropertyä ja saada ominaisuuden arvon käyttämällä getPropertyä "GuruTutorialina".
jsp: eteenpäin
Sitä käytetään pyynnön välittämiseen toiselle jsp:lle tai mille tahansa staattiselle sivulle.
Täällä pyyntö voidaan välittää ilman parametreja tai parametreilla.
Syntaksi:
<jsp:forward page="value">
Tässä arvo ilmaisee, minne pyyntö on välitettävä.
Esimerkiksi:
Action_jsp41.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Guru Action JSP1</title> </head> <body> <jsp:forward page="jsp_action_42.jsp" /> </body> </html>
Jsp_action_42.jsp
Guru Action JSP2</title> </head> <body> <a>This is after forward page</a> </body> </html>
Koodin selitys
Action_jsp41.jsp
Koodirivi 10: Tässä käytämme edelleen JSP-toimintoa välittääksemme pyynnön attribuutissa mainitulle sivulle, eli jsp_action_42.jsp
Jsp_action_42.jsp
Koodirivi 10: Kun kutsumme action_jsp41.jsp:tä, pyyntö välitetään tälle sivulle, ja saamme tulosteen muodossa "Tämä on välityssivun jälkeen".
Kun suoritamme yllä olevan koodin, saamme seuraavan tulosteen
lähtö:
Kutsumme action_jsp41.jsp:tä, mutta pyyntö välitetään edelleen osoitteeseen jsp_action_42.jsp, ja saamme tämän sivun tulosteen muodossa "Tämä on eteenpäin sivun jälkeen".
jsp:plugin
- Sitä käytetään esittelyyn Java komponentit jsp:ksi, eli Java-komponentit voivat olla joko sovelmia tai papuja.
- Se tunnistaa selaimen ja lisää tai JSP-tunnisteet tiedostoon
Syntaksi:
<jsp:plugin type="applet/bean" code="objectcode" codebase="objectcodebase">
- Tässä tyyppi määrittää joko objektin tai papun
- Koodi määrittää sovelman tai papun luokan nimen
- Koodikanta sisältää perus-URL-osoitteen, joka sisältää luokkien tiedostot
jsp:param
- Tämä on yllä kuvatun laajennusobjektin lapsiobjekti
- Sen on sisällettävä yksi tai useampi toiminto lisäparametrien antamiseksi.
Syntaksi:
<jsp:params> <jsp:param name="val" value="val"/ > </jsp:params>
Esimerkki laajennuksesta ja parametrista
Action_jsp5.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Action guru jsp5</title> </head> <body> <jsp:plugin type="bean" code="Student.class" codebase="demotest.Student"> <jsp:params> <jsp:param name="id" value="5" /> <jsp:param name="name" value="guru" /> </jsp:params> </jsp:plugin> </body> </html>
Opiskelija.java
package demotest; import java.io.Serializable; public class Student implements Serializable { public String getName () { return name; } public void setName (String name) { this.name = name; } public int getId() { return id; } public void setId (int id) { this.id = id; } private String name = "null"; private int id = 0; }
Koodin selitys:
Action_jsp5.jsp
Koodirivi 10: Tässä otamme jsp: plugin-objektin, jossa otamme kolme attribuuttia
- Tyyppi – tässä tapauksessa se on papu
- Koodi- tiedoston nimi
- Koodikanta – polku paketin nimellä
Koodirivit 11-14: Tässä otamme jsp: params -objektin, jonka alla on aliparam-objekti, jolla on attribuutit nimi ja arvo, ja asetamme näissä attribuuteissa id:n ja namen arvot.
Opiskelija.java
Koodi 7-17: Käytämme gettereitä ja settereitä muuttujille id ja name
Koodi 19-20: alustamme muuttujia id ja name.
Täältä saamme tulosteen siinä tapauksessa, että param asetettuja arvoja käytetään Student Beanissa. Tässä tapauksessa meillä ei ole tulosta, koska vain asetamme ja saamme parametrin arvoja, mutta emme tulosta sitä mihinkään.
jsp:body
- Tätä tunnistetta käytetään XML:n määrittelemiseen dynaamisesti eli elementit voi luoda pyynnön aikana kuin käännösaikana.
- Se itse asiassa määrittelee XML:n, joka on luotu dynaamisesti elementin runko.
Syntaksi:
<jsp:body></jsp:body>
Tässä kirjoitamme XML-tekstitunnisteen näiden tunnisteiden sisään
jsp:attribute
- Tätä tunnistetta käytetään XML:n määrittelemiseen dynaamisesti eli elementit voidaan luoda pyynnön aikana kuin käännösaikana
- Se itse asiassa määrittelee XML:n attribuutin, joka luodaan dynaamisesti.
Syntaksi:
<jsp:attribute></jsp:attribute>
Tänne kirjoitetaan XML:n attribuuttitunniste.
Esimerkki rungosta ja attribuutista:
Action_jsp6.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Action Guru JSP6</title> </head> <body> <jsp:element name="GuruXMLElement"> <jsp:attribute name="GuruXMLattribute"> Value </jsp:attribute> <jsp:body>Guru XML</jsp:body> </jsp:element> </body> </html>
Koodin selitys:
Koodirivi 10: Tässä määritellään elementti, joka generoidaan dynaamisesti nimellä XML, ja sen nimi on GuruXMLElement
Koodirivit 11-13: Tässä määrittelemme attribuutin, joka määrittää dynaamisesti luodun XML:n XML-attribuutin.
Koodirivi 14: Tässä on body action, jossa kirjoitamme XML-runkoa, joka luodaan dynaamisesti XML:ssä.
Kun suoritat yllä olevan koodin, saat seuraavan tulosteen:
lähtö:
Täältä saamme tulosteen luodun XML:n body tagista.
jsp:teksti
- Sitä käytetään tekstin mallintamiseen JSP-sivuilla.
- Sen runko ei sisällä muita elementtejä, ja se sisältää vain tekstiä ja EL-lausekkeita.
Syntaksi:
<jsp:text>template text</jsp:text>
Tässä malliteksti viittaa vain mallitekstiin (joka voi olla mitä tahansa yleistä tekstiä, joka on tulostettava jsp:lle) tai mihin tahansa EL ilmaisu.
Esimerkiksi:
Action_jsp7.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Guru Action JSP7</title> </head> <body> <jsp:text>Guru Template Text</jsp:text> </body> </html>
Koodin selitys:
Koodirivi 10: Tässä otamme tekstiobjektin tulostamaan mallitekstin
Kun suoritat yllä olevan koodin, saat seuraavan tulosteen
lähtö:
Saamme Guru-mallitekstiä, joka sijoitetaan tekstitoimintoobjekteihin.
jsp:lähtö
- Se määrittää jsp:n XML- tai DOCTYPE-ilmoituksen
- XML-ilmoituksen ja DOCTYPE:n ilmoittaa tulos
Syntaksi:
<jsp:output doctype-root-element="" doctype-system="">
Tässä doctype-root-element osoittaa XML-dokumentin juurielementin DOCTYPE:ssä. Doctype-system ilmaisee doctypen, joka generoidaan tulostuksessa ja antaa järjestelmälle kirjaimellisen
Esimerkiksi:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Action Guru JSP8</title> </head> <body> <jsp:output doctype-root-element="html PUBLIC" doctype-system="http://www.w3.org/TR/html4/loose.dtd"/> </body> </html>
Koodin selitys:
Koodirivi 10: Tässä käytämme tulostoimintoobjektia DOCTYPE:n luomiseen, ja sisäisesti se luodaan tässä muodossa:
Tälle ei ole tulosta, koska se luodaan sisäisesti.