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.

jsp:include

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:

jsp:getProperty

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

jsp:weiterleiten

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:

jsp:Attribut

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

jsp:text

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.