JSP-Aktions-Tags
Was ist JSP-Aktion?
JSP-Aktionen verwenden das Konstrukt in XML-Syntax, um das Verhalten der Servlet-Engine zu steuern. Wir können eine Datei dynamisch einfügen, die Beans-Komponenten wiederverwenden, Benutzer auf eine andere Seite weiterleiten usw. über JSP-Aktionen wie „Include“ und „Forward“. Im Gegensatz zu Anweisungen werden Aktionen bei jedem Zugriff auf die Seite neu bewertet.
Syntax:
<jsp:action_name attribute="value" />
In diesem Tutorial erfahren Sie mehr über JSP-Standardaktionen. JSP-Standardaktions-Tags werden zur Steuerung des Verhaltens der Servlet-Engine verwendet.
Liste der häufig verwendeten Action-Tags in JSP
Es gibt 11 Arten von Standard-Aktions-Tags in JSP. Hier ist die vollständige Liste.
Name des Aktionstags | Syntax | Beschreibung |
---|---|---|
jsp:useBean | Wird zum Aufrufen und Verwenden von Beans auf der JSP-Seite verwendet. | |
jsp:include | Fügt während der Anforderungsverarbeitung eine weitere JSP-Datei in die aktuelle Datei ein. | |
jsp:setProperty | Legt die Eigenschaft einer Bean fest. | |
jsp:getProperty | Ruft die Eigenschaft einer Bean ab und konvertiert sie zur Ausgabe in eine Zeichenfolge. | |
jsp:weiterleiten | Leitet die Anforderung an eine andere JSP oder statische Seite weiter. | |
jsp:plugin | Stellt vor Java Komponenten wie Applets oder Beans in JSP und generiert automatisch Tags. | |
jsp:body | Definiert XML-Elemente, die während der Anforderungsverarbeitung dynamisch generiert werden. | |
jsp:text | Vorlagentext | Wird verwendet, um Vorlagentext in JSP-Seiten einzufügen, der nur Text und EL-Ausdrücke enthält. |
jsp:param | Übergibt Parameter innerhalb der jsp:plugin-Aktion, um zusätzliche Daten hinzuzufügen. | |
jsp:Attribut | Definiert XML-Attribute, die dynamisch generiert werden. | |
jsp:Ausgabe | Gibt die XML- oder DOCTYPE-Deklaration an, die in der Ausgabe verwendet werden soll. |
jsp:useBean
- Dieser Aktionsname wird verwendet, wenn Beans auf der JSP-Seite verwendet werden sollen.
- Mit diesem Tag können wir ganz einfach eine Bean aufrufen.
Syntax von JSP: UseBean:
<jsp:useBean id="" class="" />
Hier wird die Kennung für diese Bean angegeben und die Klasse ist der vollständige Pfad der Bean-Klasse
Ejemplo:
<%@ 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>
Erklärung des Codes:
Codezeile 10: Im obigen Code verwenden wir „Bean-ID“ und „Klassenpfad“ der Bean.
jsp:include
- Es wird auch zum Einfügen einer JSP-Datei in eine andere Datei verwendet, genau wie beim Einschließen Richtlinien.
- Es wird während der Anfrageverarbeitungsphase hinzugefügt
Syntax von jsp:include
<jsp:include page="page URL" flush="true/false">
Ejemplo:
Action_jsp2 (Codezeile 10) Wir fügen eine date.jsp-Datei ein
<%@ 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>
Erklärung des Codes:
Action_jsp2.jsp
Codezeile 10: In der ersten Datei fügen wir die Datei date.jsp in action_jsp2.jsp ein
Date.jsp:
Codezeile 11: Wir drucken das heutige Datum in Codezeile 11 in date.jsp
Wenn Sie den Code ausführen, erhalten Sie die folgende Ausgabe.
Ausgang:
- Es zeigt das heutige Datum mit Uhrzeit an, da die Datumsdatei in der Haupt-JSP enthalten ist
jsp:setProperty
- Diese Eigenschaft von Standardaktionen in JSP wird verwendet, um die Eigenschaft der Bean festzulegen.
- Wir müssen eine Bean definieren, bevor wir die Eigenschaft festlegen
Syntax:
<jsp:setproperty name="" property="" >
Hier definiert der Name die Bean, deren Eigenschaft festgelegt ist, und die Eigenschaft, die wir festlegen möchten. Außerdem können wir das Attribut value und param festlegen. Hier ist value nicht obligatorisch und definiert den Wert, der der Eigenschaft zugewiesen wird. Hier ist param der Name des Anforderungsparameters, mit dem der Wert abgerufen werden kann. Das Beispiel von setproperty wird unten mit getproperty demonstriert.
jsp:getProperty
- Diese Eigenschaft wird verwendet, um die Eigenschaft der Bean abzurufen.
- Es wird in einen String umgewandelt und schließlich in die Ausgabe eingefügt.
Syntax:
<jsp:getAttribute name="" property="" >
Hier muss der Name der Bean angegeben werden, aus der die Eigenschaft abgerufen werden soll. Das Eigenschaftsattribut ist der Name der abzurufenden Bean-Eigenschaft.
Beispiel für setProperty und 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>
Erklärung des Codes:
TestBean.java:
Codezeile 5: TheTestBean implementiert die serialisierbare Klasse. Es handelt sich um eine Bean-Klasse mit Getter-Setter im Code.
Codezeile 7: Hier nehmen wir die private String-Variable msg als „null“
Codezeile 9-14: Hier verwenden wir Getter und Setter der Variablen „msg“.
Action_jsp3.jsp
Codezeile 10: Hier verwenden wir das Tag „useBean“, das die Bean, also TestBean, angibt, die in dieser JSP-Klasse verwendet werden muss
Codezeile 11: Hier legen wir den Wert für die Eigenschaft msg für die Bean TestBean auf „GuruTutorial“ fest.
CodeLine12: Hier erhalten wir mit getProperty den Wert der Eigenschaft msg für die Bean TestBean, also GuruTutorial, der in der Ausgabe enthalten ist
Wenn Sie den obigen Code ausführen, erhalten Sie die folgende Ausgabe:
Ausgang:
In diesem Beispiel versuchen wir mit TestBean, die Eigenschaft „gurutest“ mit setProperty festzulegen und den Wert der Eigenschaft mit getProperty als „GuruTutorial“ abzurufen.
jsp:weiterleiten
Es wird verwendet, um die Anfrage an eine andere JSP oder eine beliebige statische Seite weiterzuleiten.
Hier kann die Anfrage ohne Parameter oder mit Parametern weitergeleitet werden.
Syntax:
<jsp:forward page="value">
Hier stellt der Wert dar, wohin die Anfrage weitergeleitet werden muss.
Ejemplo:
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>
Erklärung des Codes
Action_jsp41.jsp
Codezeile 10: Hier verwenden wir die Forward-JSP-Aktion, um die Anfrage an die im Attribut erwähnte Seite weiterzuleiten, also jsp_action_42.jsp
Jsp_action_42.jsp
Codezeile 10: Sobald wir action_jsp41.jsp aufrufen, wird die Anfrage an diese Seite weitergeleitet und wir erhalten die Ausgabe „Dies ist nach der Weiterleitungsseite“.
Wenn wir den obigen Code ausführen, erhalten wir die folgende Ausgabe
Ausgang:
Wir rufen action_jsp41.jsp auf, aber die Anfrage wird an jsp_action_42.jsp weitergeleitet und wir erhalten die Ausgabe dieser Seite als „Dies ist nach der Weiterleitungsseite“.
jsp:plugin
- Es wird zur Einführung verwendet Java Komponenten in JSP, dh die Java-Komponenten können entweder ein Applet oder eine Bean sein.
- Es erkennt den Browser und fügt hinzu oder JSP-Tags in die Datei einfügen
Syntax:
<jsp:plugin type="applet/bean" code="objectcode" codebase="objectcodebase">
- Hier gibt der Typ entweder ein Objekt oder eine Bean an
- Der Code gibt den Klassennamen des Applets oder Beans an
- Die Codebasis enthält die Basis-URL, die Klassendateien enthält
jsp:param
- Dies ist ein untergeordnetes Objekt des oben beschriebenen Plugin-Objekts
- Es muss eine oder mehrere Aktionen enthalten, um zusätzliche Parameter bereitzustellen.
Syntax:
<jsp:params> <jsp:param name="val" value="val"/ > </jsp:params>
Beispiel für Plugin und 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; }
Erklärung des Codes:
Action_jsp5.jsp
Codezeile 10: Hier nehmen wir das jsp:plugin-Objekt, wobei wir drei Attribute übernehmen
- Typ – in diesem Fall ist es Bohne
- Codename der Datei
- Codebasis – Pfad mit dem Paketnamen
Codezeile 11-14: Hier nehmen wir ein jsp:params-Objekt, unter dem sich ein untergeordnetes param-Objekt mit den Attributen name und value befindet, und legen die Werte von id und name in diesen Attributen fest.
Student.java
Code 7-17: Wir verwenden Getter und Setter für die Variablen id und name
Code 19-20: Wir initialisieren die Variablen id und name.
Hier erhalten wir eine Ausgabe für den Fall, dass die eingestellten Werte von param in Student Bean verwendet werden. In diesem Fall erhalten wir keine Ausgabe, da wir nur die Werte von param festlegen und abrufen, diese aber nirgendwo ausgeben.
jsp:body
- Dieses Tag wird verwendet, um das XML dynamisch zu definieren, d. h verschiedenste Komponenten kann während der Anforderungszeit mehr generiert werden als während der Kompilierungszeit.
- Es definiert tatsächlich das XML, das dynamisch generiert wird, Elementkörper.
Syntax:
<jsp:body></jsp:body>
Hier schreiben wir ein XML-Body-Tag innerhalb dieser Tags
jsp:Attribut
- Dieses Tag wird verwendet, um das XML dynamisch zu definieren, dh die Elemente können während der Anforderungszeit und nicht zur Kompilierungszeit generiert werden
- Es definiert tatsächlich das Attribut von XML, das dynamisch generiert wird.
Syntax:
<jsp:attribute></jsp:attribute>
Hier schreiben wir ein Attribut-Tag von XML.
Beispiel für Körper und Attribut:
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>
Erklärung des Codes:
Codezeile 10: Hier definieren wir ein Element, das dynamisch generiert wird als XML, und sein Name wird GuruXMLElement sein
Codezeile 11-13: Hier definieren wir ein Attribut, das das XML-Attribut des dynamisch generierten XML darstellt.
Codezeile 14: Hier haben wir eine Body-Aktion, bei der wir den XML-Body schreiben, der dynamisch in XML generiert wird.
Wenn Sie den obigen Code ausführen, erhalten Sie die folgende Ausgabe:
Ausgang:
Hier erhalten wir die Ausgabe des Body-Tags des generierten XML.
jsp:text
- Es wird als Vorlage für Text in JSP-Seiten verwendet.
- Sein Hauptteil enthält keine anderen Elemente und enthält nur Text und EL-Ausdrücke.
Syntax:
<jsp:text>template text</jsp:text>
Hier bezieht sich Vorlagentext nur auf Vorlagentext (bei dem es sich um einen beliebigen generischen Text handeln kann, der auf JSP gedruckt werden muss) oder auf einen anderen EL-Ausdruck.
Ejemplo:
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>
Erklärung des Codes:
Codezeile 10: Hier verwenden wir ein Textobjekt, um den Vorlagentext zu drucken
Wenn Sie den obigen Code ausführen, erhalten Sie die folgende Ausgabe
Ausgang:
Wir erhalten Guru-Vorlagentext, der in Textaktionsobjekten platziert wird.
jsp:Ausgabe
- Es gibt die XML-Deklaration oder die DOCTYPE-Deklaration von JSP an
- Die XML-Deklaration und DOCTYPE werden durch die Ausgabe deklariert
Syntax:
<jsp:output doctype-root-element="" doctype-system="">
Hier gibt doctype-root-element das Stammelement des XML-Dokuments in DOCTYPE an. Doctype-system gibt den Doctype an, der in der Ausgabe generiert wird und Systemliteral angibt
Ejemplo:
<%@ 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>
Erklärung des Codes:
Codezeile 10: Hier verwenden wir das Ausgabeaktionsobjekt, um einen DOCTYPE zu generieren, und intern wird er in diesem Format generiert:
Hierfür erfolgt keine Ausgabe, da diese intern generiert wird.