JSP-toimintotunnisteet
⚡ Älykäs yhteenveto
JSP-toimintotunnisteet käyttävät XML-syntaksia servlet-moottorin toiminnan hallintaan, jolloin kehittäjät voivat sisällyttää tiedostoja, välittää pyyntöjä, työskennellä JavaPavut ja upota dynaamista sisältöä pyyntöjen käsittelyn aikana.

Mikä on JSP-toimintotunniste?
JSP-toimintotunnisteet käyttävät XML-syntaksin rakenteita servlet-moottorin toiminnan ohjaamiseen. Kehittäjät voivat dynaamisesti lisätä tiedoston, käyttää sitä uudelleen JavaBean-komponentit ohjaavat käyttäjän toiselle sivulle ja suorittavat samankaltaisia ajonaikaisia toimintoja JSP-toimintotunnisteiden, kuten include ja forward, avulla. Toisin kuin direktiivit, toimintotunnisteet arvioidaan uudelleen joka kerta, kun sivua käytetään, mikä tekee niistä ihanteellisia dynaamiseen toimintaan pyyntöjen käsittelyn aikana.
Syntaksi:
<jsp:action_name attribute="value" />
Tässä JSP-vakiotoimintotunnisteita käsittelevässä opetusohjelmassa opit, miten kukin toimintotunniste toimii, mitä se tekee ja miten sitä käytetään oikeassa JSP-tiedostossa.
Luettelo JSP:ssä 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 | <jsp:include page=”page URL”flush=”true/false” /> | 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. |
Nyt kun sinulla on täydellinen luettelo, tutkimme kutakin näistä JSP-toimintotunnisteista yksi kerrallaan syntaksin ja toimivan esimerkin avulla.
jsp:useBean-toimintotunniste
- Tätä toiminnon nimeä käytetään, kun haluat käyttää JavaJSP-sivun pavut.
- Tämän tagin avulla voit helposti kutsua bean-komponenttia ja käyttää uudelleen palvelinpuolen komponentteja.
jsp:useBean-syntaksi:
<jsp:useBean id="" class="" />
Tässä id määrittää tämän beanin tunnisteen ja class on bean-luokan koko 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:
Code Rivi 10: Yllä olevassa koodissa käytät papun ”paputunnusta” ja ”luokkapolkua”.
jsp:include-toimintotunniste
- jsp:include-ominaisuutta käytetään JSP-tiedoston lisäämiseen toiseen tiedostoon pyynnön käsittelyn aikana, samalla tavalla kuin include-komennon ohjeet.
- Se lisätään pyynnön käsittelyvaiheessa, mikä tarkoittaa, että sisällytettyä sisältöä arvioidaan joka kerta, kun sivua pyydetään.
jsp:include-muuttujasta seuraava syntaksi:
<jsp:include page="page URL" flush="true/false">
Esimerkiksi:
Action_jsp2-tiedostossa (Code Rivi 10), sisällytä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
Code Rivi 10: Ensimmäisessä tiedostossa on date.jsp-tiedosto action_jsp2.jsp-tiedostossa.
Date.jsp:
Code Rivi 11: Tulostamme tämän päivän päivämäärän date.jsp-tiedoston koodiriville 11.
Kun suoritat koodin, tuloste on seuraava.
lähtö:
- Se näyttää tämän päivän päivämäärän kellonaikoineen, koska päivämäärätiedosto sisältyy JSP-pääsivuun.
jsp:setProperty-toimintotunniste
- Tätä JSP:n vakiotoimintoa käytetään bean-komponentin ominaisuuden asettamiseen.
- Sinun on määriteltävä papu ennen ominaisuuden asettamista.
Syntaksi:
<jsp:setProperty name="" property="" >
Tässä nimi määrittää bean-komponentin, jonka ominaisuus asetetaan, ja ominaisuus on ominaisuus, jonka haluat asettaa. Voit myös asettaa value- ja param-attribuutit. Tässä value ei ole pakollinen, ja se määrittää ominaisuudelle annettavan arvon. Tässä param on pyyntöparametrin nimi, jonka avulla arvo voidaan noutaa. setProperty-ominaisuuden esimerkki havainnollistetaan alla getProperty-ominaisuuden avulla.
jsp:getProperty-toimintotunniste
- Tätä toimintoa käytetään pavun ominaisuuden hankkimiseen.
- Se muuntaa ominaisuuden merkkijonoksi ja lopuksi lisää sen tulosteeseen.
Syntaksi:
<jsp:getProperty name="" property="" >
Tässä nimi on sen beanin nimi, josta ominaisuus on noudettava, ja bean tulee määritellä. Ominaisuusattribuutti on noudettavan bean-ominaisuuden 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:
Code line 5TestBean toteuttaa Serializable-luokan. Se on bean-luokka, jonka koodissa on getter- ja setter-funktioita.
Code line 7Tässä otamme yksityisen merkkijonomuuttujan msg arvoksi ”null”.
Code Rivi 9-14Tässä käytämme muuttujan ”msg” getter- ja setter-funktioita.
Action_jsp3.jsp
Code Rivi 10: Tässä käytämme “useBean”-tagia, joka määrittää beanin (TestBean), jota tässä JSP-luokassa on käytettävä.
Code Rivi 11: Tässä asetamme bean TestBean -ominaisuuden msg arvoksi ”GuruOpastus".
Code Rivi 12: Tässä getProperty-metodilla saamme bean TestBean -ominaisuuden msg arvon (GuruOpastus), joka näkyy tulosteessa.
Kun suoritat yllä olevan koodin, saat seuraavan tulosteen:
lähtö:
Tässä esimerkissä, jossa käytetään TestBeania, asetamme ominaisuuden ”msg” käyttämällä setProperty-funktiota ja haemme ominaisuuden arvon käyttämällä getProperty-funktiota muodossa ”GuruOpastus".
jsp:forward-toimintotunniste
jsp:forward-toimintotunnistetta 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
Code Rivi 10: Tässä käytämme forward JSP -toimintoa pyynnön välittämiseen attribuutissa mainitulle sivulle, eli jsp_action_42.jsp.
Jsp_action_42.jsp
Code Rivi 10: Kun kutsumme action_jsp41.jsp-tiedostoa, pyyntö välitetään tälle sivulle ja saamme tulokseksi ”Tämä on välityssivun jälkeen”.
Kun suoritamme yllä olevan koodin, saamme seuraavan tulosteen.
lähtö:
Kutsumme tiedostoa action_jsp41.jsp, mutta pyyntö välitetään sivulle jsp_action_42.jsp, ja saamme kyseisen sivun tulosteena muodossa ”Tämä on jatkosivun jälkeen”.
jsp:plugin-toimintotunniste
- Sitä käytetään esittelyyn Java komponentit JSP:hen, jossa Java komponentit voivat olla joko sovelmia tai papuja.
- Se tunnistaa selaimen ja lisää tai tagit tiedostoon.
Syntaksi:
<jsp:plugin type="applet/bean" code="objectcode" codebase="objectcodebase">
- Tässä tyyppi määrittää joko objektin tai papun.
- Code määrittää sovelman tai beanin luokan nimen.
- Codepohja sisältää pohjan URL joka sisältää luokkien tiedostoja.
jsp:param-toimintotunniste
- Tämä on yllä kuvatun plugin-objektin 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
Code Rivi 10: Tässä käytämme jsp:plugin-objektia, jossa otamme kolme attribuuttia.
- Tyyppi – tässä tapauksessa se on papu.
- Code – tiedoston nimi.
- Codebase – polku paketin nimellä.
Code Rivi 11–14: Tässä otamme jsp:params-objektin, jonka alla on alitason param-objekti, jonka attribuuteilla on name ja value, ja asetamme id- ja name-arvot näihin attribuutteihin.
Opiskelija.java
Code 7-17: Käytämme getter- ja setter-funktioita muuttujille id ja name.
Code 19-20: Alustamme muuttujat id ja name.
Tässä saamme tulosteen siinä tapauksessa, että Student-beanissa käytetään param-parametrin asetettuja arvoja. Tässä tapauksessa meillä ei ole mitään tulostetta, koska asetamme ja haemme vain param-parametrin arvoja, mutta emme tulosta niitä mihinkään.
jsp:body-toimintotunniste
- Tätä tunnistetta käytetään XML:n dynaamiseen määrittelyyn, jossa elementit voidaan luoda pyyntöaikana eikä käännösaikana.
- Se määrittelee XML:n, joka luodaan dynaamisesti elementtirunkona.
Syntaksi:
<jsp:body></jsp:body>
Tässä kirjoitamme XML-body-tagin näiden tagien sisään.
jsp:attribute-toimintotunniste
- Tätä tagia käytetään XML:n dynaamiseen määrittelyyn, jossa elementit voidaan luoda pyyntöaikana käännösaikana.
- Se määrittelee XML:n attribuutin, joka luodaan dynaamisesti.
Syntaksi:
<jsp:attribute></jsp:attribute>
Tähän 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:
Code Rivi 10: Tässä määrittelemme elementin, joka luodaan dynaamisesti muodossa XML, ja sen nimi tulee olemaan GuruXML-elementti.
Code Rivi 11–13: Tässä määrittelemme attribuutin, joka on dynaamisesti luodun XML:n XML-attribuutti.
Code Rivi 14: Tässä on body-toiminto, jossa kirjoitamme XML-rungon, joka luodaan dynaamisesti.
Kun suoritat yllä olevan koodin, saat seuraavan tulosteen:
lähtö:
Tässä saamme tulosteen luodun XML-tiedoston body-tunnisteesta.
jsp:text-toimintotunniste
- Sitä käytetään mallipohjan tekstin lisäämiseen JSP-sivuille.
- 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ä mallipohjateksti viittaa vain mallipohjatekstiin (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:
Code Rivi 10: Tässä otamme tekstiobjektin tulostaaksemme mallitekstin.
Kun suoritat yllä olevan koodin, saat seuraavan tulosteen.
lähtö:
Me saamme Guru Mallipohjateksti, joka sijoitetaan tekstitoiminto-objektin sisään.
jsp:output-toimintotunniste
- Se määrittää JSP:n XML- tai DOCTYPE-määrityksen.
- XML-deklaraatio ja DOCTYPE deklaroidaan tulosteessa.
Syntaksi:
<jsp:output doctype-root-element="" doctype-system="">
Tässä doctype-root-elementti ilmaisee XML-dokumentin juurielementin DOCTYPE-elementissä. Doctype-system ilmaisee tulosteessa luodun doctypen, joka antaa system-literaalin.
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:
Code Rivi 10: Tässä käytämme output-toiminto-objektia DOCTYPE-tyypin luomiseen, ja sisäisesti se luodaan tässä muodossa:
Tästä ei tule näkyvää tulostetta, koska se luodaan sisäisesti.





