Il est pratique d'utiliser JSTL lors de l'écriture de dessins avec JSP, qui a une longue histoire. JSTL est une bibliothèque de balises standard Java Server Pages.
Si vous utilisez <% xxx%>
, vous ne pouvez pas organiser le format JSP etc. de manière hiérarchique, donc la maintenabilité est médiocre.
Pour les JSP complexes, divisez le fichier JSP et utilisez la balise de base JSTL pour faciliter la compréhension des branchements, LOOP, etc.
Les expressions EL sont décrites à l'aide des balises $ {~}.
Exemple de calcul simple: $ {100 + 200 * 30}
, $ {" 1 "eq" 1 "?" True ":" False "}
pageContext, request Exemple: $ {user.userName}
, $ {count}
Exemple de session: $ {sessionScope.user.userName}
Exemple de paramètre initial: $ {initParam [" param1 "]}
Exemple de cookie: $ {cookie [" param1 "]. Value}
Exemple d'en-tête: $ {header ['user-agent']}
Comment rédiger des comparaisons fréquemment utilisées
1, égal: $ {a eq b}
2, différent de: $ {a ne b}
3、Not:${not a}
4、Empty:${empty a}
5、Not Empty:${not empty a}
6, supérieur à: $ {a gt b}
7, inférieur à: $ {a lt b}
8 ou plus: $ {a ge b}
9, ci-dessous: $ {a le b}
Lors de l'écriture dans une expression EL, il est nécessaire de la définir.
String data = "C'est un test.";
<%= data %> // OK
<c:out value=${data} /> //NG. la variable de données est une demande,Parce qu'il n'est pas défini dans pageContext, etc.
String data = "C'est un test.";
pageContext.setAttribute("data", data);
<%= data %> // OK
<c:out value=${data} /> // OK
type | La description |
---|---|
core | forEach, if, référence de variable/Balises de base telles que les paramètres |
fmt | Formats de nombre et de date, etc. |
xml | Analyse de document XML, feuille de style XSL |
functions | Fonctions générales de chaîne (contient, etc.) |
sql | Fonctions qui émettent du SQL et exploitent la base de données |
Les fichiers core, function, fmt sont fréquemment utilisés.
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
marque | La description |
---|---|
c:set | Définir des variables |
c:remove | Supprimer la variable |
c:out | production |
c:if | instruction if (branche conditionnelle unique) |
c:choose, c:when, c:otherwise | if-else,if-elseif-instruction else (plusieurs branches conditionnelles) |
c:forEach | boucle |
c:forTokens | Diviser la chaîne avec un délimiteur |
c:import | Importer le fichier |
c:redirect | réorienter |
c:url | Générer une URL |
c:catch | Gestion des exceptions |
c:param | Spécifiez les paramètres |
<c:set var="score" value="80" />
<c:choose>
<c:when test=${score gt 90}>
<c:out value="très impressionnant." />
</c:when>
<c:when test=${score gt 80}>
<c:out value="C'est excellent." />
</c:when>
<c:otherwise>
<c:out value="S'il vous plaît faites de votre mieux." />
</c:otherwise>
</c:choose>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
marque | La description |
---|---|
fmt:formatNumber | Formater les données numériques |
fmt:formatDate | Mettre en forme les données de date |
fmt:parseNumber | Convertir des chaînes de caractères en données numériques |
fmt:parseDate | Convertir une chaîne de caractères en données de date |
fmt:bundle, fmt:message | Obtenir un message pour la ressource |
fmt:requestEncording> | Définir le codage des caractères de la demande |
fmt:setLocale | Définir les paramètres régionaux |
fmt:setTimeZone | Définir le fuseau horaire |
fmt:timeZone | Définir le fuseau horaire |
<fmt:formatDate value="${data.updateDate}" pattern="yyyy/MM/dd HH:mm"/>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
marque | La description |
---|---|
fn:contains() | Contient-il la chaîne de caractères spécifiée? |
fn:containsIgnoreCase() | Contient-il la chaîne de caractères spécifiée (insensible à la casse) |
fn:endsWith() | La dernière chaîne de caractères est-elle une chaîne de caractères spécifiée? |
fn:escapeXml() | échapper |
fn:indexOf() | Renvoie l'index de la chaîne spécifiée. Si ça n'existe pas-1 |
fn:trim() | Supprimer les espaces avant et après la chaîne |
fn:startsWith() | La chaîne de caractères initiale est-elle une chaîne de caractères spécifiée? |
fn:split() | Fractionner par chaîne de caractères spécifiée |
fn:toLowerCase() | Convertir en minuscules |
fn:toUpperCase() | Convertir en majuscules |
fn:substring() | Extraire la chaîne de caractères dans la plage spécifiée |
fn:substringAfter() | Extraire après la chaîne de caractères spécifiée |
fn:substringBefore() | Extraire avant la chaîne de caractères spécifiée |
fn:length() | Renvoie la longueur de la chaîne |
fn:replace() | Remplacement |
<c:set var="favs" value="Circer, lecture" />
<c:out value="${fn:contains(favs, 'en train de lire') ? 'en train de lireが大好きです。' : 'en train de lireに興味がありません。' }"></c:out>
sql
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
Détails: https://www.javatpoint.com/jstl-sql-tags
xml
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>
Détails: https://www.javatpoint.com/jstl-xml-tags
c'est tout