JSP-actielabels
Wat is JSP-actie?
JSP-acties gebruiken de constructie in de XML-syntaxis om het gedrag van de servlet-engine te besturen. We kunnen dynamisch een bestand invoegen, de bonencomponenten hergebruiken, de gebruiker doorsturen naar een andere pagina, enz. via JSP-acties zoals include en forward. In tegenstelling tot richtlijnen worden acties elke keer dat de pagina wordt geopend opnieuw geëvalueerd.
Syntax:
<jsp:action_name attribute="value" />
In deze zelfstudie leert u over JSP-standaardacties. JSP Standard Action-tags worden gebruikt om het gedrag van de servlet-engine te controleren.
Lijst met veelgebruikte actietags in JSP
Er zijn 11 typen standaardactietags in JSP. Hier is de volledige lijst.
Actie Tag Naam | Syntaxis | Beschrijving |
---|---|---|
jsp:useBean | Wordt gebruikt om beans aan te roepen en te gebruiken op de JSP-pagina. | |
jsp: opnemen | Voegt een ander JSP-bestand toe aan het huidige bestand tijdens de verwerking van de aanvraag. | |
jsp:setProperty | Stelt de eigenschap van een bean in. | |
jsp:getProperty | Haalt de eigenschap van een bean op en zet deze om in een tekenreeks voor uitvoer. | |
jsp:vooruit | Stuurt de aanvraag door naar een andere JSP of statische pagina. | |
jsp: plug-in | Introduceert Java componenten zoals applets of beans in JSP en genereert automatisch tags. | |
jsp: lichaam | Definieert XML-elementen die dynamisch worden gegenereerd tijdens de verwerking van de aanvraag. | |
jsp: tekst | sjabloontekst | Wordt gebruikt om sjabloontekst in JSP-pagina's in te voegen, die alleen tekst en EL-expressies bevatten. |
jsp:param | Geeft parameters door binnen de jsp:plugin-actie om extra gegevens toe te voegen. | |
jsp: attribuut | Definieert XML-kenmerken die dynamisch worden gegenereerd. | |
jsp:uitvoer | Geeft de XML- of DOCTYPE-declaratie op die in de uitvoer moet worden gebruikt. |
jsp:useBean
- Deze actienaam wordt gebruikt als we bonen willen gebruiken op de JSP-pagina.
- Met deze tag kunnen we gemakkelijk een boon aanroepen.
Syntaxis van jsp: UseBean:
<jsp:useBean id="" class="" />
Hier specificeert het de identificatie voor deze bean en klasse is het volledige pad van de bean-klasse
Voorbeeld:
<%@ 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>
Uitleg van de code:
Coderegel 10: In de bovenstaande code gebruiken we “bean id” en “class path” van de bean.
jsp: opnemen
- Het werd ook gebruikt om een jsp-bestand in een ander bestand in te voegen, net als including instructies.
- Het wordt toegevoegd tijdens de verwerkingsfase van de aanvraag
Syntaxis van jsp:include
<jsp:include page="page URL" flush="true/false">
Voorbeeld:
Action_jsp2 (coderegel 10) we nemen een date.jsp-bestand op
<%@ 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>
Datum.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>
Uitleg van de code:
Actie_jsp2.jsp
Coderegel 10: In het eerste bestand nemen we het bestand date.jsp op in action_jsp2.jsp
Datum.jsp:
Coderegel 11: We drukken de datum van vandaag af in coderegel 11 in date.jsp
Wanneer u de code uitvoert, ziet u het volgende resultaat.
Output:
- Het toont de datum van vandaag met de tijd, aangezien het datumbestand is opgenomen in de hoofd-jsp
jsp:setProperty
- Deze eigenschap van standaardacties in JSP wordt gebruikt om de eigenschap van de bean in te stellen.
- We moeten een boon definiëren voordat we de eigenschap instellen
Syntax:
<jsp:setproperty name="" property="" >
Hier definieert de naam de bean waarvan de eigenschap is ingesteld en de eigenschap die we willen instellen. Ook kunnen we waarde en param-attribuut instellen. Hier is waarde niet verplicht en definieert het de waarde die aan de eigenschap is toegewezen. Hier is param de naam van de aanvraagparameter waarmee de waarde kan worden opgehaald. Het voorbeeld van setproperty wordt hieronder gedemonstreerd met getproperty
jsp:getProperty
- Deze eigenschap wordt gebruikt om de eigenschap van de boon te verkrijgen.
- Het wordt omgezet in een string en wordt uiteindelijk in de uitvoer ingevoegd.
Syntax:
<jsp:getAttribute name="" property="" >
Hier moet de naam van de bean waarvan de eigenschap moet worden opgehaald en de bean moet worden gedefinieerd. Het property-attribuut is de naam van de bean-eigenschap die moet worden opgehaald.
Voorbeeld van setProperty en 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; } }
Actie_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>
Uitleg van de code:
TestBean.java:
Coderegel 5: TheTestBean implementeert de serialiseerbare klasse. Het is een bonenklasse met getters-setters in de code.
Coderegel 7: Hier nemen we de privé-tekenreeksvariabele msg als “null”
Coderegel 9-14: Hier gebruiken we getters en setters van de variabele “msg”.
Actie_jsp3.jsp
Coderegel 10: Hier gebruiken we de tag "useBean", waar deze de bean specificeert, dat wil zeggen TestBean, die in deze jsp-klasse moet worden gebruikt
Coderegel 11: Hier stellen we de waarde voor de eigenschap msg voor bean TestBean in als “GuruTutorial.”
CodeLine12: Hier gebruiken we getProperty om de waarde van de eigenschap msg voor bean TestBean, dwz GuruTutorial, op te halen die in de uitvoer staat
Wanneer u de bovenstaande code uitvoert, krijgt u de volgende uitvoer:
Output:
In dit voorbeeld proberen we met TestBean de eigenschap "gurutest" in te stellen met setProperty en de waarde van de eigenschap op te halen met behulp van getProperty als "GuruTutorial"
jsp:vooruit
Het wordt gebruikt om het verzoek door te sturen naar een andere jsp of een statische pagina.
Hier kan het verzoek zonder parameters of met parameters worden doorgestuurd.
Syntax:
<jsp:forward page="value">
Hier vertegenwoordigt de waarde waar het verzoek moet worden doorgestuurd.
Voorbeeld:
Actie_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>
Verklaring van de code
Actie_jsp41.jsp
Coderegel 10: Hier gebruiken we forward JSP Action om het verzoek door te sturen naar de pagina die in het attribuut wordt vermeld, dat wil zeggen jsp_action_42.jsp
Jsp_action_42.jsp
Coderegel 10: Zodra we action_jsp41.jsp aanroepen, wordt het verzoek doorgestuurd naar deze pagina en krijgen we de uitvoer als 'Dit is na de voorwaartse pagina'.
Wanneer we de bovenstaande code uitvoeren, krijgen we de volgende uitvoer
Output:
We noemen action_jsp41.jsp, maar het verzoek wordt doorgestuurd naar jsp_action_42.jsp en we krijgen de uitvoer van die pagina als "Dit is na de voorwaartse pagina".
jsp: plug-in
- Het wordt gebruikt om te introduceren Java componenten in jsp, dat wil zeggen dat de Java-componenten een applet of een bean kunnen zijn.
- Het detecteert de browser en voegt toe of JSP-tags in het bestand
Syntax:
<jsp:plugin type="applet/bean" code="objectcode" codebase="objectcodebase">
- Hier specificeert het type een object of een boon
- Code specificeert de klassenaam van applet of bean
- Codebase bevat de basis-URL die bestanden met klassen bevat
jsp:param
- Dit is een onderliggend object van het hierboven beschreven plug-inobject
- Het moet een of meer acties bevatten om aanvullende parameters op te geven.
Syntax:
<jsp:params> <jsp:param name="val" value="val"/ > </jsp:params>
Voorbeeld van plug-in en param
Actie_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; }
Uitleg van de code:
Actie_jsp5.jsp
Coderegel 10: Hier nemen we jsp: plugin-object waarbij we drie attributen gebruiken
- Type – in dit geval is het boon
- Codenaam van het bestand
- Codebase – pad met de pakketnaam
Coderegel 11-14: Hier nemen we jsp: params object waaronder zich een onderliggend param-object bevindt met de attributen naam en waarde, en we stellen de waarden id en naam in deze attributen in.
Student.java
Code 7-17: We gebruiken getters en setters voor de ID en naam van variabelen
Codering 19-20: we initialiseren de variabelen id en naam.
Hier krijgen we uitvoer in het geval dat de ingestelde waarden van param worden gebruikt in Student Bean. In dit geval hebben we geen uitvoer omdat we alleen de waarden van param instellen en ophalen, maar deze nergens afdrukken.
jsp: lichaam
- Deze tag wordt gebruikt om de XML dynamisch te definiëren, dwz de Elementen kan genereren tijdens de aanvraagtijd dan tijdens de compilatietijd.
- Het definieert feitelijk de XML, die dynamisch wordt gegenereerd.
Syntax:
<jsp:body></jsp:body>
Hier schrijven we een XML-body-tag binnen deze tags
jsp: attribuut
- Deze tag wordt gebruikt om de XML dynamisch te definiëren, dat wil zeggen dat de elementen tijdens de aanvraagtijd kunnen worden gegenereerd in plaats van tijdens de compilatie
- Het definieert feitelijk het kenmerk van XML dat dynamisch zal worden gegenereerd.
Syntax:
<jsp:attribute></jsp:attribute>
Hier schrijven we attribuuttag van XML.
Voorbeeld van lichaam en attribuut:
Actie_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>
Uitleg van de code:
Coderegel 10: Hier definiëren we het element, dat dynamisch wordt gegenereerd als XML, en de naam zal GuruXMLElement zijn
Coderegel 11-13: Hier definiëren we een attribuut dat het XML-attribuut zal zijn van de dynamisch gegenereerde XML.
Coderegel 14: Hier hebben we een body-actie waarbij we de XML-body schrijven die in dynamisch XML wordt gegenereerd.
Wanneer u de bovenstaande code uitvoert, krijgt u de volgende uitvoer:
Output:
Hier krijgen we de uitvoer van de body-tag van gegenereerde XML.
jsp: tekst
- Het wordt gebruikt om tekst op JSP-pagina's te sjablonen.
- De hoofdtekst bevat geen andere elementen en bevat alleen tekst en EL-expressies.
Syntax:
<jsp:text>template text</jsp:text>
Hier verwijst sjabloontekst alleen naar sjabloontekst (dit kan elke generieke tekst zijn die op jsp moet worden afgedrukt) of een willekeurige tekst EL-expressie.
Voorbeeld:
Actie_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>
Uitleg van de code:
Coderegel 10: Hier gebruiken we een tekstobject om de sjabloontekst af te drukken
Wanneer u de bovenstaande code uitvoert, krijgt u de volgende uitvoer
Output:
We krijgen Guru-sjabloontekst, die in tekstactieobjecten wordt geplaatst.
jsp:uitvoer
- Het specificeert de XML-declaratie of de DOCTYPE-declaratie van jsp
- De XML-declaratie en DOCTYPE worden door de uitvoer gedeclareerd
Syntax:
<jsp:output doctype-root-element="" doctype-system="">
Hier geeft doctype-root-element het root-element van het XML-document in DOCTYPE aan. Doctype-system geeft het doctype aan dat in de output wordt gegenereerd en geeft system literal
Voorbeeld:
<%@ 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>
Uitleg van de code:
Coderegel 10: Hier gebruiken we een uitvoeractieobject om een DOCTYPE te genereren, en intern wordt het in dit formaat gegenereerd:
Er zal geen uitvoer hiervoor zijn, omdat deze intern wordt gegenereerd.