JSTL标签库

1.JSTL

     定义:JSP Standard Tag Library,JSP标准标签库。

     作用:1.JSTL标签库的使用是为类弥补html表的不足,规范自定义标签的使用而诞生的。

              2.尽可能避免在jsp页面中出现java逻辑代码。

2.如何在JSP中使用JSTL

    首先,导入standard.jar和jstl.jar两个jar包。

    其次,在JSP页面中添加对JSTL的引用:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

3.核心标签库

    JSTL的核心标签库标签共13个,从功能上可以分为4类:

    1>.表达式控制标签

         out标签、set标签、remove标签、catch标签。

    2>.流程控制标签

         if标签、choose标签、when标签、otherwise标签。

    3>.循环标签

         forEach标签、forTokens标签。

    4>.URL操作标签

         import标签、url标签、redirect标签。

4.核心标签库的用法

    1>.<c:out>标签:用来显示数据对象(字符串、表达式)的内容或结果。相当于 <% out.println(“字符串")%> 或 <%=表达式%>

         【语法1】:<c:out value="要显示的数据对象" [escapeXml="true|false"] [default="默认值"]>         

         【语法2】:<c:out value="要显示的数据对象" [escapeXml="true|false"]>默认值</c:out>

               value:指定要输出的变量或表达式。
               escapeXml:设定是否转换特殊字符(如&lt、&gt等一些转义字符)
               default:为默认输出结果。如果使用表达式得到的结果为null(注意与空区别),将会输出默认结果。

   2>.<c:set>标签:主要用于将变量存取于JSP范围中或JavaBean属性中。

         【语法1】<c:set value="值1" var="name1" [scope="page|request|session|application"]>

         【语法2】<c:set var="name2" [scope="page|request|session|application"]>

         【语法3】<c:set value="值3" target="JavaBean对象" property="属性名"/>

         【语法4】<c:set target="JavaBean对象" property="属性名">值4</c:set>

   3>.<c:remove>标签:主要用来从指定的JSP范围内移除指定的变量。

         【语法】<c:remove var="变量名" [scope="page|request|session|application"]/>

   4>.<c:if>标签:同程序中的if作用相同,用来实现条件控制。

         【语法1】<c:if test="条件1" var="name" [scope="page|request|session|application"]>

         【语法2】<c:if test="条件2" var="name" [scope="page|request|session|application"]>结果2</c:if>

         【参数说明】:
                I、test属性用于存放判断的条件,一般使用EL表达式来编写。
                II、var指定名称用来存放判断的结果,类型为true或false。
                III、scope用来存放var属性存放的范围。

   5>.<c:choose>、<c:when>和<c:otherwise>标签:

         注意:这3个标签通常情况下是一起使用的,<c:choose>标签作为<c:when>和<c:otherwise>标签的父标签来使用。

   6>.<c:forEach>标签:该标签根据循环条件遍历集合(Collection)中的元素。

        <c:forEach var="name" items="Collection" varStatus="StatusName" begin="begin" end="end" step="step">
                所有内容
        </c:forEach>

       【参数解析】:
              I、var设定变量名用于存储从集合中取出元素。
              II、items指定要遍历的集合。
              III、varStatus设定变量名,该变量用于存放集合中元素的信息。
              IV、begin、end用于指定遍历的起始位置和终止位置(可选)。

              V、step指定循环的步长。

       【varStatus有4个状态属性】:

             index:当前循环的索引值 count:循环的次数 frist:是否为第一个位置 last:是否为最后一个位置

5.I18N格式标签库

       <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

       1>.数字日期格式化标签

            formatNumber标签、formatData标签、parseNumber标签、parseDate标签、timeZone标签、setTimeZone标签

       2>.读取消息资源。

            bundle标签、message标签、setBundle标签。

       3>.国际化。

            setlocale标签、requestEncoding标签。

6.数字日期格式化标签 - 用法

       1>.<fmt:formatNumber>标签:该标签主要用来格式化数字。

           【语法】:<frm:formatNumber value="被格式化的数据"[type="number|currency|percent"] [var="name"]                      [scope=page|request|session|application] />

            number:数值 currency:金额 percent:百分比

       2>.<fmt:formatDate>标签:该标签主要用来格式化日期和时间。

【语法】:<fmt: formatDate value="date" [type="time|date|both"]
                       [pattern="pattern"]
                [dateStyle="default|short|medium|long|full"]
         [timeStyle="default|short|medium|long|full"]
         [timeZone="timeZone"]
         [var="name"]
         [scope="page|request|session|application"]
      />

     <fmt:formatDate value="${xx}" pattern="dd/MM/yyyy hh:mm aa"/>



原文地址:https://www.cnblogs.com/Lchao/p/6430494.html