Bibliothèque de balises standard JSP (JSTL)
JSP Standard Tag Library (JSTL) est une collection de balises JSP qui encapsule les fonctions de base communes des applications JSP.
JSTL prend en charge les tâches courantes et structurées, telles que l'itération, le jugement conditionnel, les opérations sur les documents XML, les balises internationales et les balises SQL. En plus de cela, il fournit également un cadre pour utiliser des balises personnalisées intégrées à JSTL.
Selon les fonctions fournies par les balises JSTL, elles peuvent être divisées en 5 catégories.
Balises principales
Balises de formatage
-
Balise SQL
Balise XML
Fonction JSTL
Installation de la bibliothèque JSTL
Les étapes d'installation de la bibliothèque JSTL d'Apache Tomcat sont les suivantes :
À partir des balises standard d'Apache Le package binaire téléchargé depuis la bibliothèque (jakarta-taglibs-standard-current.zip). Adresse de téléchargement : http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/
Téléchargez le package jakarta-taglibs-standard-1.1.2.zip et décompressez-le, copiez les deux fichiers jar sous jakarta-taglibs-standard-1.1.2/lib/ : les fichiers standard.jar et jstl.jar dans /WEB-INF/lib/.
Ensuite, nous ajoutons la configuration suivante dans le fichier web.xml :
…… <jsp-config> <taglib> <taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri> <taglib-location>/WEB-INF/fmt.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://java.sun.com/jstl/fmt-rt</taglib-uri> <taglib-location>/WEB-INF/fmt-rt.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://java.sun.com/jstl/core</taglib-uri> <taglib-location>/WEB-INF/c.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://java.sun.com/jstl/core-rt</taglib-uri> <taglib-location>/WEB-INF/c-rt.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://java.sun.com/jstl/sql</taglib-uri> <taglib-location>/WEB-INF/sql.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://java.sun.com/jstl/sql-rt</taglib-uri> <taglib-location>/WEB-INF/sql-rt.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://java.sun.com/jstl/x</taglib-uri> <taglib-location>/WEB-INF/x.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://java.sun.com/jstl/x-rt</taglib-uri> <taglib-location>/WEB-INF/x-rt.tld</taglib-location> </taglib> </jsp-config> ……
Avec n'importe quelle bibliothèque, vous devez inclure < dans l'en-tête de chaque fichier JSP taglib> Étiqueter.
Balise Core
La balise Core est la balise JSTL la plus couramment utilisée. La syntaxe de référencement de la bibliothèque de balises principale est la suivante :
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
标签 | 描述 |
---|---|
<c:out> | 用于在JSP中显示数据,就像<%= ... > |
<c:set> | 用于保存数据 |
<c:remove> | 用于删除数据 |
<c:catch> | 用来处理产生错误的异常状况,并且将错误信息储存起来 |
<c:if> | 与我们在一般程序中用的if一样 |
<c:choose> | 本身只当做<c:when>和<c:otherwise>的父标签 |
<c:when> | <c:choose>的子标签,用来判断条件是否成立 |
<c:otherwise> | <c:choose>的子标签,接在<c:when>标签后,当<c:when>标签判断为false时被执行 |
<c:import> | 检索一个绝对或相对 URL,然后将其内容暴露给页面 |
<c:forEach> | 基础迭代标签,接受多种集合类型 |
<c:forTokens> | 根据指定的分隔符来分隔内容并迭代输出 |
<c:param> | 用来给包含或重定向的页面传递参数 |
<c:redirect> | 重定向至一个新的URL. |
<c:url> | 使用可选的查询参数来创造一个URL |
Balises de formatage
Les balises de formatage JSTL sont utilisées pour formater et afficher du texte, des dates, des heures et des nombres. La syntaxe de référencement de la bibliothèque de balises de formatage est la suivante :
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
标签 | 描述 |
---|---|
<fmt:formatNumber> | 使用指定的格式或精度格式化数字 |
<fmt:parseNumber> | 解析一个代表着数字,货币或百分比的字符串 |
<fmt:formatDate> | 使用指定的风格或模式格式化日期和时间 |
<fmt:parseDate> | 解析一个代表着日期或时间的字符串 |
<fmt:bundle> | 绑定资源 |
<fmt:setLocale> | 指定地区 |
<fmt:setBundle> | 绑定资源 |
<fmt:timeZone> | 指定时区 |
<fmt:setTimeZone> | 指定时区 |
<fmt:message> | 显示资源配置文件信息 |
<fmt:requestEncoding> | 设置request的字符编码 |
Balises SQL
La bibliothèque de balises SQL JSTL fournit des balises pour interagir avec les bases de données relationnelles (Oracle, MySQL, SQL Server, etc.). La syntaxe de référencement de la bibliothèque de balises SQL est la suivante :
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
标签 | 描述 |
---|---|
<sql:setDataSource> | 指定数据源 |
<sql:query> | 运行SQL查询语句 |
<sql:update> | 运行SQL更新语句 |
<sql:param> | 将SQL语句中的参数设为指定值 |
<sql:dateParam> | 将SQL语句中的日期参数设为指定的java.util.Date 对象值 |
<sql:transaction> | 在共享数据库连接中提供嵌套的数据库行为元素,将所有语句以一个事务的形式来运行 |
Balises XML
La bibliothèque de balises XML JSTL fournit des balises pour créer et manipuler des documents XML. La syntaxe de référencement de la bibliothèque de balises XML est la suivante :
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
Avant d'utiliser la balise xml, vous devez copier les packages associés XML et XPath dans votre <répertoire d'installation Tomcat>lib :
XercesImpl.jar
Adresse de téléchargement : http://www.apache.org/dist/xerces/j/
xalan.jar
Adresse de téléchargement : http://xml.apache.org/xalan-j/
标签 | 描述 |
---|---|
<x:out> | 与<%= ... >,类似,不过只用于XPath表达式 |
<x:parse> | 解析 XML 数据 |
<x:set> | 设置XPath表达式 |
<x:if> | 判断XPath表达式,若为真,则执行本体中的内容,否则跳过本体 |
<x:forEach> | 迭代XML文档中的节点 |
<x:choose> | <x:when>和<x:otherwise>的父标签 |
<x:when> | <x:choose>的子标签,用来进行条件判断 |
<x:otherwise> | <x:choose>的子标签,当<x:when>判断为false时被执行 |
<x:transform> | 将XSL转换应用在XML文档中 |
<x:param> | 与<x:transform>共同使用,用于设置XSL样式表 |
Fonctions JSTL
JSTL contient une série de fonctions standard, dont la plupart sont des fonctions générales de traitement de chaînes. La syntaxe de référencement de la bibliothèque de fonctions JSTL est la suivante :
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
函数 | 描述 |
---|---|
fn:contains() | 测试输入的字符串是否包含指定的子串 |
fn:containsIgnoreCase() | 测试输入的字符串是否包含指定的子串,大小写不敏感 |
fn:endsWith() | 测试输入的字符串是否以指定的后缀结尾 |
fn:escapeXml() | 跳过可以作为XML标记的字符 |
fn:indexOf() | 返回指定字符串在输入字符串中出现的位置 |
fn:join() | 将数组中的元素合成一个字符串然后输出 |
fn:length() | 返回字符串长度 |
fn:replace() | 将输入字符串中指定的位置替换为指定的字符串然后返回 |
fn:split() | 将字符串用指定的分隔符分隔然后组成一个子字符串数组并返回 |
fn:startsWith() | 测试输入字符串是否以指定的前缀开始 |
fn:substring() | 返回字符串的子集 |
fn:substringAfter() | 返回字符串在指定子串之后的子集 |
fn:substringBefore() | 返回字符串在指定子串之前的子集 |
fn:toLowerCase() | 将字符串中的字符转为小写 |
fn:toUpperCase() | 将字符串中的字符转为大写 |
fn:trim() | 移除首位的空白符 |