zoukankan      html  css  js  c++  java
  • JSTL标签库

    一、JSTL标签库介绍  

      JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的。使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码。

    二、JSTL标签库的分类

    • 核心标签(用得最多)
    • 国际化标签(I18N格式化标签)
    • 数据库标签(SQL标签,很少使用)
    • XML标签(几乎不用)
    • JSTL函数(EL函数)

    三、核心标签库使用说明

      JSTL的核心标签库标签共13个,使用这些标签能够完成JSP页面的基本功能,减少编码工作。

      从功能上可以分为4类:表达式控制标签、流程控制标签、循环标签、URL操作标签。
        (1)表达式控制标签out标签、set标签、remove标签、catch标签。
        (2)流程控制标签if标签、choose标签、when标签、otherwise标签
        (3)循环标签forEach标签、forTokens标签
        (4)URL操作标签import标签、url标签、redirect标签、param标签

      在JSP页面引入核心标签库的代码为:<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

    3.1、流程控制标签——if标签

    <c:if test="${!empty list }">
    //业务逻辑
    </c:if>

    3.1、流程控制标签——choose标签、when标签、otherwise标签

    <c:choose>
       <c:when test="条件n">
          //业务逻辑n
             </c:when>
             <c:otherwise>
          //业务逻辑
       </c:otherwise>
     </c:choose>

    3.3、循环标签——forEach标签     该标签根据循环条件遍历集合(Collection)中的元素。

    <c:forEach var="si" items="${list}" varStatus="st"> // var和items是必须值
    <td>${st.index+1 }</td>
    <td>${si.name }</td>
    </c:forEach>

    【参数解析】:
      (1)var指定用来存放遍历到的成员。
      (2)items指定要遍历的集合。
      (3)varStatus有4个状态----index/当前循环的索引值,count/循环的次数,frist、last/是否为第一个或最后位置    
      (4)begin指定遍历的开始位置(int型从取值0开始)。
      (5)end指定遍历结束的位置(int型,默认集合中最后一个元素)。
      (6)step遍历的步长(大于0的整型)。

    3.4、循环标签——forTokens标签    该标签用于浏览字符串,并根据指定的字符将字符串截取。

        <c:forTokens var="n" items="1*2*3*4*5*6*7" delims="*" begin="1" end="3" varStatus="s">// var、items和delims是必须值
                     <c:out value="${n}" /><br>
        </c:forTokens>

    【参数解析】:
        (1)items指定被迭代的字符串。
      (2)delims指定使用的分隔符。

    四、国际化标签库使用说明

      在JSP页面引入国际化标签库库的代码为:<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

       format标签库:做国际化格式化,分两类 :                                                                                                 

            1.国际化核心标 签:<fmt:setLocale>、<fmt:bundle>、<fmt:setBundle>、<fmt:message>、<fmt:param>、<fmt:requestEncoding>

         2.格式化标 签:<fmt:timeZone>、<fmt:setTimeZone>、<fmt:formatNumber>、<fmt:parseNumber>、<fmt:formatDate>、<fmt:parseDate>

    4.1、<fmt:formatNumber>标签   用于格式化数字

      <fmt:formatNumber value="123.123456789" pattern="0.00"/> 保留两位小数
    <fmt:formatNumber value="1000.888" type="currency" /> 结果将被保存在“ money ”变量中,将根据 Locale 环境显示当地的货币格式
    <fmt:formatNumber type="number" value="45678.2345" /> 格式数字(45,678.234) 
    <fmt:formatNumber type="percent" value="0.2345" />格式百分比(23%) 

    属性描述 
      value:格式化的数字,该数值可以是 String 类型或 java.lang.Number 类型的实例 
      type:格式化的类型,可能值包括:currency(货币)、number(数字)和percent(百分比)
      pattern:格式化模式 
      var:结果保存变量 
      scope:变量的作用范围 
      maxIntegerDigits:指定格式化结果的最大值 
      minIntegerDigits:指定格式化结果的最小值 
      maxFractionDigits:指定格式化结果的最大值,带小数 
      minFractionDigits:指定格式化结果的最小值,带小数 

    4.2、<fmt:formatDate>标签  用于格式化日期

    <fmt:formatDate value="${user.birthDay}" pattern="yyyy-MM-dd"/>

    五、JSTL函数(EL函数)使用说明

          在JSP页面引入EL函数库的代码为:<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

     

    <c:when test="${fn:length(picture.pictureType) > 16}">
          <c:out value="${fn:substring(picture.pictureType, 0, 16)}" />
    </c:when>
  • 相关阅读:
    Add Two Numbers
    Remove Duplicates from Sorted List II
    Reorder List
    Divide Two Integers
    Reverse Nodes in k-Group
    链表反转
    模板类 error LNK2019: 无法解析的外部符号
    传参数应该用哪种形式——值、引用、指针?
    OpenMesh 将默认的 float 类型改为 double 类型
    fatal error LNK1169: 找到一个或多个多重定义的符号
  • 原文地址:https://www.cnblogs.com/mcahkf/p/5674097.html
Copyright © 2011-2022 走看看