JSP - Didacticiel sur la bibliothèque de balises standard (JSTL)
Dans ce chapitre, nous allons comprendre les différentes balises dans JSP. La bibliothèque de balises standard JavaServer Pages (JSTL) est une collection de balises JSP utiles qui encapsulent les fonctionnalités de base communes à de nombreuses applications JSP.
JSTL prend en charge les tâches structurelles courantes telles que l'itération et les conditions, les balises pour manipuler les documents XML, les balises d'internationalisation et les balises SQL. Il fournit également un cadre pour l'intégration des balises personnalisées existantes avec les balises JSTL.
Installer la bibliothèque JSTL
Pour commencer à travailler avec les tages JSP, vous devez d'abord installer la bibliothèque JSTL. Si vous utilisez le conteneur Apache Tomcat, suivez ces deux étapes -
Step 1- Téléchargez la distribution binaire depuis Apache Standard Taglib et décompressez le fichier compressé.
Step 2 - Pour utiliser le Taglib Standard depuis son Jakarta Taglibs distribution, copiez simplement les fichiers JAR dans le répertoire 'lib' de la distribution dans votre application webapps\ROOT\WEB-INF\lib annuaire.
Pour utiliser l'une des bibliothèques, vous devez inclure une directive <taglib> en haut de chaque JSP qui utilise la bibliothèque.
Classification des balises JSTL
Les balises JSTL peuvent être classées, en fonction de leurs fonctions, dans les groupes de bibliothèques de balises JSTL suivants qui peuvent être utilisés lors de la création d'une page JSP -
Core Tags
Formatting tags
SQL tags
XML tags
JSTL Functions
Balises principales
Le groupe principal de balises comprend les balises JSTL les plus couramment utilisées. Voici la syntaxe pour inclure la bibliothèque JSTL Core dans votre JSP -
<%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>
Le tableau suivant répertorie les balises JSTL principales -
S.No. | Balise et description |
---|---|
1 | Comme <% = ...>, mais pour les expressions. |
2 | Définit le résultat d'une évaluation d'expression dans un 'scope' |
3 | Supprime un scoped variable (à partir d'une portée particulière, si spécifié). |
4 | Attrape tout Throwable qui se produit dans son corps et l'expose éventuellement. |
5 | Balise conditionnelle simple qui évalue son corps si la condition fournie est vraie. |
6 | Balise conditionnelle simple qui établit un contexte pour les opérations conditionnelles mutuellement exclusives, marquées par <when> et <otherwise>. |
sept | Sous-étiquette de <choose> qui inclut son corps si sa condition est évaluée à 'true'. |
8 | Sous-étiquette de <choose> qui suit le <when> balise et s'exécute uniquement si toutes les conditions antérieures évaluées à 'false'. |
9 | Récupère une URL absolue ou relative et expose son contenu à la page, une chaîne dans 'var', ou un lecteur dans 'varReader'. |
dix | Balise d'itération de base, acceptant de nombreux types de collection différents et prenant en charge le sous-ensemble et d'autres fonctionnalités. |
11 | Itère sur les jetons, séparés par les délimètres fournis. |
12 | Ajoute un paramètre à un contenant 'import' URL de la balise. |
13 | Redirige vers une nouvelle URL. |
14 | Crée une URL avec des paramètres de requête facultatifs |
Mise en forme des balises
Les balises de formatage JSTL sont utilisées pour formater et afficher le texte, la date, l'heure et les nombres pour les sites Web internationalisés. Voici la syntaxe pour inclure la bibliothèque de mise en forme dans votre JSP -
<%@ taglib prefix = "fmt" uri = "http://java.sun.com/jsp/jstl/fmt" %>
Le tableau suivant répertorie les balises JSTL de formatage -
S.No. | Balise et description |
---|---|
1 | Pour rendre une valeur numérique avec une précision ou un format spécifique. |
2 | Analyse la représentation sous forme de chaîne d'un nombre, d'une devise ou d'un pourcentage. |
3 | Formate une date et / ou une heure à l'aide des styles et motifs fournis. |
4 | Analyse la représentation sous forme de chaîne d'une date et / ou d'une heure |
5 | Charge un ensemble de ressources à utiliser par son corps de balise. |
6 | Stocke les paramètres régionaux donnés dans la variable de configuration des paramètres régionaux. |
sept | Charge un ensemble de ressources et le stocke dans la variable de portée nommée ou dans la variable de configuration de l'ensemble. |
8 | Spécifie le fuseau horaire pour toutes les actions de mise en forme ou d'analyse de l'heure imbriquées dans son corps. |
9 | Stocke le fuseau horaire donné dans la variable de configuration du fuseau horaire |
dix | Affiche un message internationalisé. |
11 | Définit le codage des caractères de la demande |
Balises SQL
La bibliothèque de balises SQL JSTL fournit des balises pour interagir avec des bases de données relationnelles (SGBDR) telles que Oracle, mySQL, ou Microsoft SQL Server.
Voici la syntaxe pour inclure la bibliothèque SQL JSTL dans votre JSP -
<%@ taglib prefix = "sql" uri = "http://java.sun.com/jsp/jstl/sql" %>
Le tableau suivant répertorie les balises SQL JSTL -
S.No. | Balise et description |
---|---|
1 | Crée un DataSource simple adapté uniquement au prototypage |
2 | Exécute la requête SQL définie dans son corps ou via l'attribut sql. |
3 | Exécute la mise à jour SQL définie dans son corps ou via l'attribut sql. |
4 | Définit un paramètre dans une instruction SQL sur la valeur spécifiée. |
5 | Définit un paramètre dans une instruction SQL sur la valeur java.util.Date spécifiée. |
6 | Fournit des éléments d'action de base de données imbriqués avec une connexion partagée, configurée pour exécuter toutes les instructions en une seule transaction. |
Balises XML
Les balises XML JSTL fournissent une manière centrée sur JSP de créer et de manipuler les documents XML. Voici la syntaxe pour inclure la bibliothèque XML JSTL dans votre JSP.
La bibliothèque de balises XML JSTL possède des balises personnalisées pour interagir avec les données XML. Cela inclut l'analyse du XML, la transformation des données XML et le contrôle de flux basé sur les expressions XPath.
<%@ taglib prefix = "x"
uri = "http://java.sun.com/jsp/jstl/xml" %>
Avant de poursuivre avec les exemples, vous devrez copier les deux bibliothèques associées XML et XPath suivantes dans votre <Tomcat Installation Directory>\lib -
XercesImpl.jar - Téléchargez-le depuis https://www.apache.org/dist/xerces/j/
xalan.jar - Téléchargez-le depuis https://xml.apache.org/xalan-j/index.html
Voici la liste des balises XML JSTL -
S.No. | Balise et description |
---|---|
1 | Comme <% = ...>, mais pour les expressions XPath. |
2 | Utilisé pour analyser les données XML spécifiées via un attribut ou dans le corps de la balise. |
3 | Définit une variable sur la valeur d'une expression XPath. |
4 | Évalue une expression XPath de test et si elle est vraie, elle traite son corps. Si la condition de test est fausse, le corps est ignoré. |
5 | Pour boucler sur les nœuds dans un document XML. |
6 | Balise conditionnelle simple qui établit un contexte pour les opérations conditionnelles mutuellement exclusives, marquées par <when> et <otherwise> Mots clés. |
sept | Sous-étiquette de <choose> cela inclut son corps si son expression est évaluée à «vrai». |
8 | Sous-étiquette de <choose> qui suit le <when> balise et s'exécute uniquement si toutes les conditions précédentes sont évaluées à «false». |
9 | Applique une transformation XSL à un document XML |
dix | Utilisé avec le transform balise pour définir un paramètre dans la feuille de style XSLT |
Fonctions JSTL
JSTL comprend un certain nombre de fonctions standard, dont la plupart sont des fonctions courantes de manipulation de chaînes. Voici la syntaxe pour inclure la bibliothèque de fonctions JSTL dans votre JSP -
<%@ taglib prefix = "fn"
uri = "http://java.sun.com/jsp/jstl/functions" %>
Le tableau suivant répertorie les différentes fonctions JSTL -
S.No. | Description de la fonction |
---|---|
1 | fn: contient () Teste si une chaîne d'entrée contient la sous-chaîne spécifiée. |
2 | fn: containsIgnoreCase () Teste si une chaîne d'entrée contient la sous-chaîne spécifiée sans tenir compte de la casse. |
3 | fn: endsWith () Teste si une chaîne d'entrée se termine par le suffixe spécifié. |
4 | fn: escapeXml () Échappe les caractères pouvant être interprétés comme du balisage XML. |
5 | fn: indexOf () Renvoie l'index avec une chaîne de la première occurrence d'une sous-chaîne spécifiée. |
6 | fn: join () Joint tous les éléments d'un tableau dans une chaîne. |
sept | fn: longueur () Renvoie le nombre d'éléments dans une collection ou le nombre de caractères d'une chaîne. |
8 | fn: remplacer () Renvoie une chaîne résultant du remplacement dans une chaîne d'entrée de toutes les occurrences par une chaîne donnée. |
9 | fn: split () Divise une chaîne en un tableau de sous-chaînes. |
dix | fn: démarre avec () Teste si une chaîne d'entrée commence par le préfixe spécifié. |
11 | fn: sous-chaîne () Renvoie un sous-ensemble d'une chaîne. |
12 | fn: substringAfter () Renvoie un sous-ensemble d'une chaîne suivant une sous-chaîne spécifique. |
13 | fn: substringBefore () Renvoie un sous-ensemble d'une chaîne avant une sous-chaîne spécifique. |
14 | fn: toLowerCase () Convertit tous les caractères d'une chaîne en minuscules. |
15 | fn: toUpperCase () Convertit tous les caractères d'une chaîne en majuscules. |
16 | fn: trim () Supprime les espaces blancs aux deux extrémités d'une chaîne. |