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

Mise en situation :

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

Mise en situation :

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.

Mise en situation :

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.

Mise en situation :

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

Mise en situation :

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