JSP Action Tags
Hva er JSP Action?
JSP-handlinger bruker konstruksjonen i XML-syntaks for å kontrollere oppførselen til servletmotoren. Vi kan dynamisk sette inn en fil, gjenbruke bønnekomponentene, videresende brukeren til en annen side osv. gjennom JSP-handlinger som inkluderer og videresend. I motsetning til direktiver, blir handlinger reevaluert hver gang siden åpnes.
Syntaks:
<jsp:action_name attribute="value" />
I denne opplæringen vil du lære om JSP Standard Actions. JSP Standard Action-tagger brukes til å kontrollere oppførselen til servletmotoren.
Liste over de vanligste handlingstagger i JSP
Det er 11 typer Standard Action Tags i JSP, og her er den komplette listen over dem.
Action Tag Navn | syntax | Beskrivelse |
---|---|---|
jsp:useBean | Brukes til å påkalle og bruke bønner på JSP-siden. | |
jsp:inkludere | 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. |
jsp:useBean
- Dette handlingsnavnet brukes når vi ønsker å bruke bønner på JSP-siden.
- Med denne taggen kan vi enkelt påkalle en bønne.
Syntaks for jsp: UseBean:
<jsp:useBean id="" class="" />
Her spesifiserer den identifikatoren for denne bønnen og klassen er hele 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:
Kodelinje 10: I koden ovenfor bruker vi "bønne-id" og "klassebane" til bønnen.
jsp:inkludere
- Det pleide også å sette inn en jsp-fil i en annen fil, akkurat som å inkludere Direktiver.
- Det legges til under forespørselsbehandlingsfasen
Syntaks for jsp:include
<jsp:include page="page URL" flush="true/false">
Eksempel:
Action_jsp2 (kodelinje 10) vi inkluderer 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
Kodelinje 10: I den første filen inkluderer vi date.jsp-filen i action_jsp2.jsp
Date.jsp:
Kodelinje 11: Vi skriver ut dagens dato i kodelinje 11 i date.jsp
Når du kjører koden følger utdataene.
Utgang:
- Den viser dagens dato med klokkeslett da datofil er inkludert i hoved-jsp
jsp:setProperty
- Denne egenskapen til standardhandlinger i JSP brukes til å angi egenskapen til bønnen.
- Vi må definere en bønne før vi setter eiendommen
Syntaks:
<jsp:setproperty name="" property="" >
Her definerer navnet bønnen hvis egenskap er satt og egenskapen som vi ønsker å sette. Vi kan også angi verdi og param-attributt. Her er ikke verdien obligatorisk, og den definerer verdien som tildeles eiendommen. Her er param navnet på forespørselsparameteren som bruker hvilken verdi som kan hentes. Eksemplet på setproperty vil bli demonstrert nedenfor med getproperty
jsp:getProperty
- Denne egenskapen brukes til å få egenskapen til bønnen.
- Den konverteres til en streng og settes til slutt inn i utgangen.
Syntaks:
<jsp:getAttribute name="" property="" >
Her skal navnet på bønnen som egenskapen skal hentes fra og bønne defineres. Egenskapsattributtet 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:
Kodelinje 5: TheTestBean implementerer den serialiserbare klassen. Det er en bønneklasse med getters settere i koden.
Kodelinje 7: Her tar vi privat strengvariabel msg som "null"
Kodelinje 9-14: Her bruker vi gettere og settere av variabel "msg".
Action_jsp3.jsp
Kodelinje 10: Her bruker vi "useBean"-taggen, der den spesifiserer bønnen dvs. TestBean som må brukes i denne jsp-klassen
Kodelinje 11: Her setter vi verdien for egenskapen msg for bean TestBean som "GuruTutorial."
CodeLine12: Her ved å bruke getProperty, får vi verdien av egenskapen msg for bean TestBean dvs. GuruTutorial som er der i utdata
Når du kjører koden ovenfor får du følgende utgang:
Utgang:
I dette eksemplet, ved å bruke TestBean prøver vi å sette egenskapen "gurutest" ved å bruke setProperty og få verdien av egenskapen ved å bruke getProperty som "GuruTutorial"
jsp:forward
Den 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
Kodelinje 10: Her bruker vi forward JSP Action for å videresende forespørselen til siden nevnt i attributtet, dvs. jsp_action_42.jsp
Jsp_action_42.jsp
Kodelinje 10: Når vi ringer action_jsp41.jsp, blir forespørselen videresendt til denne siden, og vi får utdata som "Dette er etter videresendingsside."
Når vi kjører koden ovenfor, får vi følgende utgang
Utgang:
Vi kaller action_jsp41.jsp, men forespørselen blir videresendt til jsp_action_42.jsp, og vi får utdata fra den siden som "Dette er etter videresendingsside".
jsp:plugin
- Det brukes til å introdusere Java komponenter til jsp, dvs. java-komponentene kan enten være en applet eller bønne.
- Den oppdager nettleseren og legger til eller JSP-koder inn i filen
Syntaks:
<jsp:plugin type="applet/bean" code="objectcode" codebase="objectcodebase">
- Her spesifiserer typen enten et objekt eller en bønne
- Koden spesifiserer klassenavnet på appleten eller bønnen
- Kodebasen inneholder basis-URLen som inneholder filer med klasser
jsp:param
- Dette er underordnet objekt 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 param
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
Kodelinje 10: Her tar vi jsp: plugin-objekt hvor vi tar tre attributter
- Type – i dette tilfellet er det bønne
- Kodenavn på filen
- Kodebase – bane med pakkenavnet
Kodelinje 11-14: Her tar vi jsp: params-objektet der det er et underordnet param-objekt med attributtene navn og verdi, og vi setter verdiene for id og navn i disse attributtene.
Student.java
Kode 7-17: Vi bruker gettere og settere for variabler id og navn
Kode 19-20: vi initialiserer variablene id og navn.
Her vil vi få utdata i tilfellet når de innstilte verdiene til param skal brukes i Student Bean. I dette tilfellet vil vi ikke ha noe utdata, da vi bare stiller inn og henter verdiene for param, men ikke skriver det ut noe sted.
jsp:body
- Denne taggen brukes til å definere XML dynamisk, dvs Elements kan generere under forespørselstid enn kompileringstid.
- Den definerer faktisk XML, som genereres dynamisk elementkropp.
Syntaks:
<jsp:body></jsp:body>
Her skriver vi XML body tag innenfor denne taggene
jsp:attributt
- Denne taggen brukes til å definere XML dynamisk, dvs. elementene kan genereres under forespørselstid enn kompileringstid
- Den definerer faktisk attributtet til XML som vil bli generert dynamisk.
Syntaks:
<jsp:attribute></jsp:attribute>
Her skriver vi attributtag for 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:
Kodelinje 10: Her definerer vi element, som genereres dynamisk som XML, og navnet vil være GuruXMLElement
Kodelinje 11-13: Her definerer vi et attributt som vil XML-attributt til den dynamisk genererte XML.
Kodelinje 14: Her har vi kroppshandling hvor vi skriver XML-kroppen som vil bli generert i dynamisk XML.
Når du kjører koden ovenfor, får du følgende utgang:
Utgang:
Her får vi utdata fra body-taggen til generert XML.
jsp:tekst
- Den brukes til å male tekst på 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 til kun maltekst (som kan være en hvilken som helst generisk tekst som må skrives ut på jsp ) eller 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:
Kodelinje 10: Her tar vi tekstobjekt for å skrive ut malteksten
Når du utfører koden ovenfor, får du følgende utgang
Utgang:
Vi får Guru Template Text, som er plassert i teksthandlingsobjekter.
jsp:utgang
- Den spesifiserer XML-deklarasjonen eller DOCTYPE-erklæringen til jsp
- XML-deklarasjonen og DOCTYPE er deklarert av utdataene
Syntaks:
<jsp:output doctype-root-element="" doctype-system="">
Her indikerer doctype-root-element rotelementet til XML-dokumentet i DOCTYPE. Doctype-system indikerer doctype som genereres i output og gir systemet bokstavelig
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:
Kodelinje 10: Her bruker vi utdatahandlingsobjekt for å generere en DOCTYPE, og internt vil den bli generert i dette formatet:
Det vil ikke være noen utgang for dette, da dette vil bli generert internt.