Balises d'action JSP

Quโ€™est-ce que lโ€™action JSP ?

Les actions JSP utilisent la construction dans la syntaxe XML pour contrรดler le comportement du moteur de servlet. Nous pouvons insรฉrer dynamiquement un fichier, rรฉutiliser les composants des beans, transfรฉrer l'utilisateur vers une autre page, etc. via des actions JSP telles que l'inclusion et le transfert. Contrairement aux directives, les actions sont rรฉรฉvaluรฉes ร  chaque accรจs ร  la page.

syntaxe:

<jsp:action_name attribute="value" />

Dans ce didacticiel, vous dรฉcouvrirez les actions standard JSP. Les balises d'action standard JSP sont utilisรฉes pour contrรดler le comportement du moteur de servlet.

Liste des balises d'action couramment utilisรฉes dans JSP

Il existe 11 types de balises dโ€™action standard dans JSP, et voici la liste complรจte dโ€™entre elles.

Nom de la balise d'action Syntaxe Description
jsp:utiliserBean Utilisรฉ pour invoquer et utiliser des beans dans la page JSP.
jsp:inclure Inclut un autre fichier JSP dans le fichier actuel pendant le traitement de la demande.
jsp:setPropriรฉtรฉ Dรฉfinit la propriรฉtรฉ d'un bean.
jsp:getPropriรฉtรฉ Rรฉcupรจre la propriรฉtรฉ d'un bean et la convertit en une chaรฎne pour la sortie.
jsp:en avant Transfรจre la demande vers une autre JSP ou page statique.
jsp: plugin Introduit Java des composants tels que des applets ou des beans dans JSP et gรฉnรจre automatiquement des balises.
jsp:corps Dรฉfinit les รฉlรฉments XML qui sont gรฉnรฉrรฉs dynamiquement pendant le traitement de la demande.
jsp:texte modรจle de texte Utilisรฉ pour insรฉrer du texte de modรจle dans les pages JSP, contenant uniquement du texte et des expressions EL.
jsp:paramรจtre Transmet des paramรจtres dans l'action jsp:plugin pour ajouter des donnรฉes supplรฉmentaires.
jsp:attribut Dรฉfinit les attributs XML qui sont gรฉnรฉrรฉs dynamiquement.
jsp: sortie Spรฉcifie la dรฉclaration XML ou DOCTYPE ร  utiliser dans la sortie.

jsp:utiliserBean

  • Ce nom d'action est utilisรฉ lorsque nous souhaitons utiliser des beans dans la page JSP.
  • Avec cette balise, nous pouvons facilement invoquer un bean.

Syntaxe de jsp : UseBean:

<jsp:useBean id="" class="" />

Ici, il spรฉcifie l'identifiant de ce bean et la classe est le chemin complet de la classe du bean

Exemple :

<%@ 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>

Explication du code :

Ligne de code 10 : Dans le code ci-dessus, nous utilisons ยซ l'identifiant du bean ยป et le ยซ chemin de classe ยป du bean.

jsp:inclure

  • Il รฉtait รฉgalement utilisรฉ pour insรฉrer un fichier jsp dans un autre fichier, tout comme inclure Directives.
  • Il est ajoutรฉ lors de la phase de traitement de la demande

Syntaxe de jsp : inclure

<jsp:include page="page URL" flush="true/false">

Exemple :

Action_jsp2 (ligne de code 10), nous incluons un fichier date.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>Date Guru JSP</title>
</head>
<body>
<jsp:include page="date.jsp" flush="true" />
</body>
</html>

Date.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>

Explication du code :

Action_jsp2.jsp

Ligne de code 10 : Dans le premier fichier, nous incluons le fichier date.jsp dans action_jsp2.jsp

Date.jsp :

Ligne de code 11 : Nous imprimons la date d'aujourd'hui dans la ligne de code 11 dans date.jsp

Lorsque vous exรฉcutez le code suivant est la sortie.

jsp:inclure

Sortie :

  • Il affiche la date d'aujourd'hui avec l'heure car le fichier de date est inclus dans le jsp principal

jsp:setPropriรฉtรฉ

  • Cette propriรฉtรฉ des actions standard dans JSP est utilisรฉe pour dรฉfinir la propriรฉtรฉ du bean.
  • Nous devons dรฉfinir un bean avant de dรฉfinir la propriรฉtรฉ

syntaxe:

<jsp:setproperty name="" property="" >

Ici, le nom dรฉfinit le bean dont la propriรฉtรฉ est dรฉfinie et la propriรฉtรฉ que nous voulons dรฉfinir. Nous pouvons รฉgalement dรฉfinir la valeur et l'attribut param. Ici, la valeur n'est pas obligatoire et dรฉfinit la valeur qui est attribuรฉe ร  la propriรฉtรฉ. Ici, param est le nom du paramรจtre de requรชte ร  l'aide duquel la valeur peut รชtre rรฉcupรฉrรฉe. L'exemple de setproperty sera dรฉmontrรฉ ci-dessous avec getproperty

jsp:getPropriรฉtรฉ

  • Cette propriรฉtรฉ est utilisรฉe pour obtenir la propriรฉtรฉ du bean.
  • Il se convertit en chaรฎne et finalement s'insรจre dans la sortie.

syntaxe:

<jsp:getAttribute name="" property="" >

Ici, le nom du bean ร  partir duquel la propriรฉtรฉ doit รชtre rรฉcupรฉrรฉe et le bean doivent รชtre dรฉfinis. L'attribut property est le nom de la propriรฉtรฉ du bean ร  rรฉcupรฉrer.

Exemple de setProperty et 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>

Explication du code :

TestBean.java :

Ligne de code 5: TheTestBean implรฉmente la classe sรฉrialisable. C'est une classe de bean avec des getters setters dans le code.

Ligne de code 7: Ici, nous prenons la variable de chaรฎne privรฉe msg comme ยซ nulle ยป

Ligne de code 9-14: Ici, nous utilisons les getters et setters de la variable ยซ msg ยป.

Action_jsp3.jsp

Ligne de code 10 : Ici, nous utilisons la balise ยซ useBean ยป, oรน elle spรฉcifie le bean, c'est-ร -dire TestBean qui doit รชtre utilisรฉ dans cette classe jsp.

Ligne de code 11 : Ici, nous dรฉfinissons la valeur de la propriรฉtรฉ msg pour le bean TestBean comme ยซ GuruTutorial ยป.

CodeLine12 : Ici, en utilisant getProperty, nous obtenons la valeur du message de propriรฉtรฉ pour le bean TestBean, c'est-ร -dire GuruTutorial qui se trouve dans la sortie.

Lorsque vous exรฉcutez le code ci-dessus, vous obtenez le rรฉsultat suivant :

jsp:getPropriรฉtรฉ

Sortie :

Dans cet exemple, en utilisant TestBean, nous essayons de dรฉfinir la propriรฉtรฉ ยซ gurutest ยป en utilisant setProperty et d'obtenir la valeur de la propriรฉtรฉ en utilisant getProperty comme ยซ GuruTutorial ยป

jsp:en avant

Il est utilisรฉ pour transmettre la demande vers un autre jsp ou nโ€™importe quelle page statique.

Ici, la demande peut รชtre transmise sans paramรจtres ou avec des paramรจtres.

syntaxe:

<jsp:forward page="value">

Ici, la valeur reprรฉsente l'endroit oรน la demande doit รชtre transmise.

Exemple :

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>

Explication du code

Action_jsp41.jsp

Ligne de code 10 : Ici, nous utilisons forward JSP Action pour transmettre la requรชte ร  la page mentionnรฉe dans l'attribut, c'est-ร -dire jsp_action_42.jsp.

Jsp_action_42.jsp

Ligne de code 10 : Une fois que nous appelons action_jsp41.jsp, la requรชte est transfรฉrรฉe vers cette page et nous obtenons le rรฉsultat suivant : ยซ Ceci est aprรจs la page de transfert ยป.

Lorsque nous exรฉcutons le code ci-dessus, nous obtenons le rรฉsultat suivant

jsp:en avant

Sortie :

Nous appelons action_jsp41.jsp mais la requรชte est transmise ร  jsp_action_42.jsp, et nous obtenons le rรฉsultat de cette page comme ยซ Ceci est aprรจs la page de transfert ยป.

jsp: plugin

  • Il est utilisรฉ pour introduire Java composants en jsp, c'est-ร -dire que les composants Java peuvent รชtre soit une applet, soit un bean.
  • Il dรฉtecte le navigateur et ajoute ou Balises JSP dans le fichier

syntaxe:

<jsp:plugin type="applet/bean" code="objectcode" codebase="objectcodebase">
  • Ici, le type spรฉcifie soit un objet, soit un bean
  • Le code spรฉcifie le nom de classe de l'applet ou du bean
  • La base de code contient l'URL de base qui contient les fichiers de classes

jsp:paramรจtre

  • Il s'agit d'un objet enfant de l'objet plugin dรฉcrit ci-dessus
  • Il doit contenir une ou plusieurs actions pour fournir des paramรจtres supplรฉmentaires.

syntaxe:

<jsp:params>
<jsp:param name="val" value="val"/ >
</jsp:params>

Exemple de plugin et de paramรจtre

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>

ร‰tudiant.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;
	
}

Explication du code :

Action_jsp5.jsp

Ligne de code 10 : Ici nous prenons jsp: objet plugin oรน nous prenons trois attributs

  • Tapez โ€“ dans ce cas, c'est un haricot
  • Nom de code du fichier
  • Codebase โ€“ chemin avec le nom du package

Ligne de code 11-14 : Ici, nous prenons l'objet jsp: params sous lequel se trouve un objet param enfant avec les attributs name et value, et nous dรฉfinissons les valeurs de id et name dans ces attributs.

ร‰tudiant.java

Codes 7 ร  17 : Nous utilisons des getters et des setters pour l'identifiant et le nom des variables

Codes 19-20 : nous initialisons les variables id et name.

Ici, nous obtiendrons une sortie dans le cas oรน les valeurs dรฉfinies de param seront utilisรฉes dans Student Bean. Dans ce cas, nous n'aurons aucune sortie car nous dรฉfinissons et obtenons simplement les valeurs du paramรจtre mais ne l'imprimons nulle part.

jsp:corps

  • Cette balise est utilisรฉe pour dรฉfinir le XML de maniรจre dynamique, c'est-ร -dire le ร‰lรฉments peut gรฉnรฉrer pendant le temps de la demande plutรดt que pendant le temps de compilation.
  • Il dรฉfinit en fait le XML, qui est gรฉnรฉrรฉ dynamiquement dans le corps de l'รฉlรฉment.

syntaxe:

<jsp:body></jsp:body>

Ici, nous รฉcrivons la balise de corps XML dans ces balises

jsp:attribut

  • Cette balise est utilisรฉe pour dรฉfinir le XML de maniรจre dynamique, c'est-ร -dire que les รฉlรฉments peuvent รชtre gรฉnรฉrรฉs au moment de la requรชte plutรดt qu'au moment de la compilation.
  • Il dรฉfinit en fait l'attribut du XML qui sera gรฉnรฉrรฉ dynamiquement.

syntaxe:

<jsp:attribute></jsp:attribute>

Ici, nous รฉcrivons la balise d'attribut de XML.

Exemple de corps et d'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>

Explication du code :

Ligne de code 10 : Ici, nous dรฉfinissons l'รฉlรฉment, gรฉnรฉrรฉ dynamiquement comme XML, et son nom sera GuruXMLElement

Ligne de code 11-13 : Ici, nous dรฉfinissons un attribut qui sera l'attribut XML du XML gรฉnรฉrรฉ dynamiquement.

Ligne de code 14 : Ici, nous avons une action de corps oรน nous รฉcrivons le corps XML qui sera gรฉnรฉrรฉ dynamiquement en XML.

Lorsque vous exรฉcutez le code ci-dessus, vous obtenez le rรฉsultat suivant :

jsp:attribut

Sortie :

Ici, nous obtenons la sortie de la balise body du XML gรฉnรฉrรฉ.

jsp:texte

  • Il est utilisรฉ pour modรจle de texte dans les pages JSP.
  • Son corps ne contient aucun autre รฉlรฉment et contient uniquement du texte et des expressions EL.

syntaxe:

<jsp:text>template text</jsp:text>

Ici, le texte du modรจle fait rรฉfรฉrence uniquement au texte du modรจle (qui peut รชtre n'importe quel texte gรฉnรฉrique qui doit รชtre imprimรฉ sur jsp) ou ร  tout autre texte. expression EL.

Exemple :

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>

Explication du code :

Ligne de code 10 : Ici, nous prenons un objet texte pour imprimer le texte du modรจle

Lorsque vous exรฉcutez le code ci-dessus, vous obtenez le rรฉsultat suivant

jsp:texte

Sortie :

Nous obtenons le texte du modรจle Guru, qui est placรฉ dans les objets d'action de texte.

jsp: sortie

  • Il spรฉcifie la dรฉclaration XML ou la dรฉclaration DOCTYPE de jsp
  • La dรฉclaration XML et DOCTYPE sont dรฉclarรฉs par la sortie

syntaxe:

<jsp:output doctype-root-element="" doctype-system="">

Ici, doctype-root-element indique l'รฉlรฉment racine du document XML dans DOCTYPE. Doctype-system indique le doctype qui est gรฉnรฉrรฉ en sortie et donne le littรฉral systรจme

Exemple :

<%@ 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>

Explication du code :

Ligne de code 10: Ici, nous utilisons un objet d'action de sortie pour gรฉnรฉrer un DOCTYPE, et en interne il sera gรฉnรฉrรฉ dans ce format :

Il n'y aura aucune sortie pour cela car elle sera gรฉnรฉrรฉe en interne.

Rรฉsumez cet article avec :