JSP Action Tags
⚡ Smart oppsummering
JSP Action Tags bruker XML-syntaks for å kontrollere servlet-motorens oppførsel, slik at utviklere kan inkludere filer, videresende forespørsler, jobbe med JavaBønner, og legg inn dynamisk innhold under forespørselsbehandling.
Hva er en JSP-handlingstag?
JSP-handlingstagger bruker XML-syntakskonstruksjoner for å kontrollere servletmotorens virkemåte. Utviklere kan dynamisk sette inn en fil, bruke den på nytt JavaBean-komponenter videresender brukeren til en annen side og utfører lignende kjøretidsoperasjoner gjennom JSP-handlingstagger som include og forward. I motsetning til direktiver blir handlingstagger revurdert hver gang siden åpnes, noe som gjør dem ideelle for dynamisk oppførsel under forespørselsbehandling.
Syntaks:
<jsp:action_name attribute="value" />
I denne veiledningen om JSP Standard Action Tags lærer du hvordan hver handlingstag fungerer, hva den gjør og hvordan du bruker den i en ekte JSP-fil.
Liste over vanlige handlingskodene i JSP
Det er 11 typer Standard Action Tags i JSP, og her er den komplette listen over dem.
| Action Tag Navn | syntax | Tekniske beskrivelser |
|---|---|---|
| jsp:useBean | Brukes til å påkalle og bruke bønner på JSP-siden. | |
| jsp:inkludere | <jsp:include page=”page URL"flush="sant/usant" /> | Inkluderer en annen JSP-fil i gjeldende fil under forespørselsbehandling. |
| jsp:setProperty | Angir egenskapen til en bønne. | |
| jsp:getProperty | Henter egenskapen til en bønne og konverterer den til en streng for utdata. | |
| jsp:forward | Videresender forespørselen til en annen JSP eller statisk side. | |
| jsp:plugin | Introduserer Java komponenter som applets eller bønner til JSP og genererer automatisk tagger. | |
| jsp:body | Definerer XML-elementer som genereres dynamisk under forespørselsbehandling. | |
| jsp:tekst | maltekst | Brukes til å sette inn maltekst i JSP-sider, som kun inneholder tekst og EL-uttrykk. |
| jsp:param | Sender parametere i jsp:plugin-handlingen for å legge til ekstra data. | |
| jsp:attributt | Definerer XML-attributter som genereres dynamisk. | |
| jsp:utgang | Spesifiserer XML- eller DOCTYPE-deklarasjonen som skal brukes i utdataene. |
Nå som du har hele listen, skal vi utforske hver av disse JSP-handlingstaggene én etter én med syntaks og et fungerende eksempel.
jsp:useBean Handlingstag
- Dette handlingsnavnet brukes når du vil bruke JavaBønner på JSP-siden.
- Med denne taggen kan du enkelt kalle en bønne og gjenbruke komponenter på serversiden.
Syntaks for jsp:useBean:
<jsp:useBean id="" class="" />
Her spesifiserer id identifikatoren for denne bønnen, og klassen er den fullstendige banen til bønneklassen.
Eksempel:
<%@ 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>
Forklaring av koden:
Code Linje 10: I koden ovenfor bruker du «bønne-ID-en» og «klassestien» til bønnen.
jsp:include handlingstag
- jsp:include brukes til å sette inn en JSP-fil i en annen fil under forespørselsbehandling, på samme måte som å inkludere Direktiver.
- Den legges til i forespørselsbehandlingsfasen, noe som betyr at det inkluderte innholdet evalueres hver gang siden forespurtes.
Syntaks for jsp:include:
<jsp:include page="page URL" flush="true/false">
Eksempel:
I aksjon_jsp2 (Code Linje 10), inkluderer vi en date.jsp-fil.
<%@ 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>
Dato.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>
Forklaring av koden:
Action_jsp2.jsp
Code Linje 10: I den første filen inkluderer vi date.jsp-filen i action_jsp2.jsp.
Date.jsp:
Code Linje 11: Vi skriver ut dagens dato i kodelinje 11 i date.jsp.
Når du kjører koden, er følgende utdata.
Utgang:
- Den viser dagens dato med klokkeslett ettersom datofilen er inkludert på hovedsiden for JSP.
jsp:setProperty Handlingstag
- Denne standardhandlingen i JSP brukes til å angi egenskapen til bønnen.
- Du må definere en bønne før du angir egenskapen.
Syntaks:
<jsp:setProperty name="" property="" >
Her definerer navnet bønnen hvis egenskap er satt, og property er egenskapen du vil angi. Du kan også angi attributter for verdi og parameter. Her er ikke verdi obligatorisk, og den definerer verdien som er tilordnet egenskapen. Her er param navnet på forespørselsparameteren som verdien kan hentes med. Eksemplet på setProperty vil bli demonstrert nedenfor med getProperty.
jsp:getProperty Handlingstag
- Denne handlingen brukes til å hente egenskapen til bønnen.
- Den konverterer egenskapen til en streng og setter den til slutt inn i utdataene.
Syntaks:
<jsp:getProperty name="" property="" >
Her er navnet bønnen som egenskapen skal hentes fra, og bønnen skal defineres. Property-attributtet er navnet på bønneegenskapen som skal hentes.
Eksempel på setProperty og getProperty:
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>
Forklaring av koden:
TestBean.java:
Code Linje 5TestBean implementerer Serializable-klassen. Det er en bønneklasse med gettere og settere i koden.
Code Linje 7Her tar vi den private strengvariabelen msg som «null».
Code Linje 9-14Her bruker vi gettere og settere for variabelen «msg».
Action_jsp3.jsp
Code Linje 10: Her bruker vi «useBean»-taggen, der den spesifiserer bønnen (TestBean) som må brukes i denne JSP-klassen.
Code Linje 11: Her setter vi verdien for egenskapen msg for bean TestBean som «Guru«Opplæring».
Code Linje 12: Her, ved å bruke getProperty, får vi verdien av egenskapen msg for bean TestBean (GuruOpplæring), som vises i utdataene.
Når du kjører koden ovenfor, får du følgende utgang:
Utgang:
I dette eksemplet, med TestBean, setter vi egenskapen «msg» ved hjelp av setProperty og henter verdien av egenskapen ved hjelp av getProperty som «Guru«Opplæring».
jsp:forward Handlingstag
Handlingstaggen jsp:forward brukes til å videresende forespørselen til en annen JSP eller en hvilken som helst statisk side.
Her kan forespørselen videresendes uten parametere eller med parametere.
Syntaks:
<jsp:forward page="value">
Her representerer verdien hvor forespørselen skal videresendes.
Eksempel:
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>
Forklaring av koden:
Action_jsp41.jsp
Code Linje 10: Her bruker vi handlingen `videresending JSP` for å videresende forespørselen til siden som er nevnt i attributtet, dvs. jsp_action_42.jsp.
Jsp_action_42.jsp
Code Linje 10: Når vi kaller action_jsp41.jsp, blir forespørselen videresendt til denne siden, og vi får utdataene «Dette er etter videresending av side».
Når vi kjører koden ovenfor, får vi følgende utdata.
Utgang:
Vi kaller action_jsp41.jsp, men forespørselen blir videresendt til jsp_action_42.jsp, og vi får utdataene fra den siden som «Dette er etter videresendt side».
jsp:plugin Handlingstag
- Det brukes til å introdusere Java komponenter inn i JSP, hvor Java Komponentene kan enten være en applet eller en bønne.
- Den oppdager nettleseren og legger til eller tagger i filen.
Syntaks:
<jsp:plugin type="applet/bean" code="objectcode" codebase="objectcodebase">
- Her spesifiserer typen enten et objekt eller en bønne.
- Code spesifiserer klassenavnet til appleten eller bønnen.
- Codebasen inneholder basen URL som inneholder klassefiler.
jsp:param Handlingstag
- Dette er et underobjekt av plugin-objektet beskrevet ovenfor.
- Den må inneholde én eller flere handlinger for å gi flere parametere.
Syntaks:
<jsp:params> <jsp:param name="val" value="val"/ > </jsp:params>
Eksempel på plugin og parameter:
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>
Student.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; }
Forklaring av koden:
Action_jsp5.jsp
Code Linje 10: Her bruker vi jsp:plugin-objektet der vi tar tre attributter.
- Type – i dette tilfellet er det bønne.
- Code – navnet på filen.
- Codebase – sti med pakkenavnet.
Code Linje 11-14: Her tar vi jsp:params-objektet, under hvilket det er et underordnet param-objekt med attributtene name og value, og vi setter verdiene id og name i disse attributtene.
Student.java
Code 7-17: Vi bruker gettere og settere for variablene id og name.
Code 19-20: Vi initialiserer variablene ID og navn.
Her får vi utdata i tilfeller der de angitte verdiene for param skal brukes i studentbønnen. I dette tilfellet vil vi ikke ha noe utdata, ettersom vi bare setter og henter verdier for param, men ikke skriver det ut noe sted.
jsp:body Handlingstag
- Denne taggen brukes til å definere XML-en dynamisk, der Elements kan genereres i løpet av forespørselstidspunktet i stedet for kompileringstiden.
- Den definerer XML-en, som genereres dynamisk som en elementkropp.
Syntaks:
<jsp:body></jsp:body>
Her skriver vi XML-body-taggen inni disse taggene.
jsp:attribute Handlingstag
- Denne taggen brukes til å definere XML-en dynamisk, der elementene kan genereres under forespørselstid i stedet for kompileringstidspunktet.
- Den definerer XML-attributtet som skal genereres dynamisk.
Syntaks:
<jsp:attribute></jsp:attribute>
Her skriver vi attributttaggen til XML.
Eksempel på kropp og attributt:
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>
Forklaring av koden:
Code Linje 10: Her definerer vi et element, som genereres dynamisk som XML, og navnet vil være GuruXML-element.
Code Linje 11-13: Her definerer vi et attributt, som vil være et XML-attributt for den dynamisk genererte XML-en.
Code Linje 14: Her har vi body-handlingen, der vi skriver XML-brødteksten, som vil bli generert dynamisk.
Når du kjører koden ovenfor, får du følgende utgang:
Utgang:
Her får vi utdataene fra body-taggen til den genererte XML-en.
jsp:text Handlingstag
- Den brukes til å sette inn maltekst i JSP-sider.
- Kroppen inneholder ingen andre elementer, og den inneholder kun tekst og EL-uttrykk.
Syntaks:
<jsp:text>template text</jsp:text>
Her refererer maltekst kun til maltekst (som kan være hvilken som helst generisk tekst som må skrives ut på JSP) eller hvilken som helst EL uttrykk.
Eksempel:
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>
Forklaring av koden:
Code Linje 10: Her tar vi tekstobjektet for å skrive ut malteksten.
Når du utfører koden ovenfor, får du følgende utgang.
Utgang:
Vi får Guru Maltekst, som plasseres i teksthandlingsobjektet.
jsp:output Handlingstag
- Den spesifiserer XML-deklarasjonen eller DOCTYPE-deklarasjonen for JSP.
- XML-deklarasjonen og DOCTYPE deklareres av utdataene.
Syntaks:
<jsp:output doctype-root-element="" doctype-system="">
Her indikerer doctype-root-element rotelementet til XML-dokumentet i DOCTYPE. Doctype-system indikerer doctypen som genereres i utdata og gir en systemliteral.
Eksempel:
<%@ 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>
Forklaring av koden:
Code Linje 10: Her bruker vi output action-objektet til å generere en DOCTYPE, og internt vil den bli generert i dette formatet:
Det vil ikke være noen synlig utdata for dette, da dette vil bli generert internt.






