您的位置:首页 > Web前端 > JavaScript

JSTL

2019-06-13 19:26 1281 查看
  • JSTL的使用

    1、引入标签库的jar包(每个项目拷贝一次)

    jstl.jar和standard.jar
  • 2、在jsp页面通过taglib指令导入指定的类库(每个jsp页面需要单独引用)

      <%@taglib uri=“要引入的标签库的路径” prefix=“标签库的前缀” %>
    • 前缀可以自定义,程序员习惯设置为指定的前缀名
    • core核心库:c
    • fmt格式化标签库:fmt
  • 注:jstl标签操作的一般都是域对象

  • if标签

      格式: 无主体内容:<c:if test=“条件” var=“限域变量名” scope=“域对象的范围 page|request|session|application”></c:if>
    • 有主体内容:
    <c:if test="条件" var="限域变量名" scope="域对象的范围 page|request|session|application">
    主体内容
    </c:if>
    • 常用属性:

      test:判断的条件,返回true或false,操作的是域对象的值;必须要设置的属性
    • var:限域变量名,存在域对象中的变量名,可以通过el表达式获取到该变量名对应的值
    • scope:限域变量名的域范围,四个范围 page|request|session|application
  • 注:if标签没有对应else,所以如果需要做else判断,需要设置两个完全相反的if条件判断

  • choose、when和otherwise标签

      格式:
    <c:choose>
    <c:when test="条件">
    满足条件会执行的内容
    </c:when>
    <c:when test="条件">
    满足条件会执行的内容
    </c:when>
    ...
    <c:otherwise>
    当所有的when条件不成立时,才会执行的内容
    </c:otherwise
    </c:choose>

    注意:

    • 1、choose标签中只能包含when和otherwise标签,而when和otherwise标签中可以嵌套其他标签
      报错:Illegal child tag in “c:choose” tag
      2、choose和otherwise标签没有属性,而when标签必须设置test属性
      3、choose标签中至少有一个when标签,可以没有otherwise标签 4、when标签必须设置在otherwise标签之前
      5、otherwise标签只有在所有的when标签都不成立的条件下,才会执行
    • forEach标签

      格式:

      1、遍历内容多次,相当于java中 for(int i = 0; i < length; i++) {}

      <c:forEach begin="开始数" end="结束数" var="限域变量名" step="间隔数">
      ${限域变量名}
      </c:forEach>
    • 2、迭代集合,相当于java中的 for(String str : strings) {}

      <c:forEach items="要被迭代的数据(List、Map等)" var="限域变量名" varStatus="当前成员的相关信息">
      ${限域变量名}
      </c:forEach>
    • formatNumber标签

      格式:

      无主体内容:

      <fmt:formatNumber value="要被格式化的值" type="格式化的类型number|percent|currency" var="限域变量名" />
    • 有主体内容:

      <fmt:formatNumber type="格式化的类型number|percent|currency" var="限域变量名">
    • 要被格式化的值

      </fmt:formatNumber>
    • type属性的默认值是number

  • 注:如果设置了var属性,格式化后的结果会被限域变量名所接收;若未设置var属性,则格式化的结果会直接显示。
  • formatDate标签

    <fmt:formatDate value="要格式化的日期型数据" type="日期类型|时间类型|日期+时间类型" dateStyle="日期的格式" timeStyle="时间的格式" pattern="具体的格式" var="限域变量名"/>
  • 常用属性:

      value:取值的是日期型
    • type:格式的类型
    • date日期格式 默认值
    • time时间格式
    • both日期+时间格式
    • dateStyle:日期格式的具体格式 Long、short、Full等
    • timeStyle:时间格式的具体格式Long、short、Full等
    • pattern:具体的格式化格式 y M d H m s
  • 注:如果设置了var属性,格式化后的结果会被限域变量名所接收;若未设置var属性,则格式化的结果会直接显示。

  • parseNumber标签

      利用 parseNumber 标签可以将数字、货币或百分比的字符串表示法解析成指定语言环 境的数字。即解析一个代表着数字,货币或百分比的字符串。
    <fmt:parseNumber type="需要被格式化的字符串的类型number|percent|currency">
    要格式化的指定格式的字符串
    </fmt:parseNumber>
    • parseDate标签

      <fmt:parseDate type="date|time|both" pattern="日期字符串对应的格式"></fmt:parseDate>
  • 内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: