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





