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

    1、jstl依赖el,使用jstl需要导入jstl的jar包。jstl有四大库分别为:

      core:核心库,fmt格式化(日期,数字),sql,xml

    2、导入jstl标签库:首先需要导入jar包,然后在jsp页面中<%taglib prefix="前缀" uri="路径"%>(eg:1.2版本:<%@ taglib prefix="c" uri=http://java.sun.com/jsp/jstl/core %>)

    3、核心标签库core->通称为c标签(前缀通常为c)

    (1)out和set

      <c:out/>:输出

      <c:out value="abc"/>输出abc;<c:out value=${num}/>与${num}相同

      <c:out value=${num} default="abc"/>当${num}不存在时输出abc

      <c:out value=${num} default="abc" escapeXml="false"/>当escapeXml为false时,不会转换"<"、">"。eccapeXml默认为true

      

      <c:set/>:设置

      <c:set var="num" value="abc" />在pageContext中添加key为num,value为"abc"的数据

      <c:set var="num" value=${abc} scope="session" />在session中添加key为num,value为${abc}的数据,scope可选值:session、page、request、application

    (2)remove

      <c:remove var="a"  scope="session"/>删除域变量,如果没有指定scope则从所有域中删除

    (3)url

      value:指定一个路径,会在路径前面自动添加项目名

      <c:url value="/index.jsp" /> 实际输出为 /项目名/index.jsp

      

      子标签:<c:param>用来给url后边添加参数

      <c:url value="/index.jsp">

        <c:param name="username" value="测试" />  

      </c:url >

      实际输出为 /项目名/index.jsp?username=%7F7FWWD%9F

      

      var:指定变量名,一旦指定了该属性那么url就不会输出到页面中而是保存到域变量中

      scope:与var一起使用

    (4)if

      if标签的test属性必须是boolean类型的值,如果test的值为true,那么执行if标签的内容,否则不执行

      <c:if test="${ not empty num}">

        <c:out value="${num}" />

      </c:if>

      (注:没有else)

    (5)choose
      对应switch

      <c:choose>

        <c:when test="${num < 10}">小于10</c:when>

        <c:when test="${num > 10 && num < 20}">大于10小于20</c:when>

        <c:otherwise>大于20</c:otherwise>

      </c:choose>

    (6)forEach

      用来循环数组、集合,还可以用计数方式来循环

      计数方式:

      i变量从1加到100 每次加2

      <c:forEach var="i" begin="1" end="100" step="2">(包含100,相当于<=100)

      <c:out value="${i}">

      </c:forEach>

      将数组或集合中的每个元素赋值为var指定的变量

      <c:forEach items="${products}" var="product">

        <c:out value="${product}">

      </c:forEach>

      循环状态:

      可以使用varStatus创建循环状态变量

      <c:forEach items="${arr}" var="e" varStaus="vs">

        ${vs.count} (循环元素的个数)

        ${vs.index}(当前元素的下标)

        ${vs.first}(是否是第一个元素)

        ${vs.last}(是否是最后一个元素)

        ${vs.current}(当前元素)

        <c:out value="${e}">

      </c:forEach>

    4、fmt库,格式化库

      格式化日期:

      <% Date date = new Date(); pageContext.setAttribute("date" , date); %>

      <fmt:formatDate value="${d}" pattern="yyyy-MM-dd HH:mm:ss" />

      格式化数字:

      <% request.setAttribute("num" , 3.141592653) %>

      <fmt:formatNumber value="${requestScope.num}" pattern="0.00">输出小数点后两位(4舍5入),补零(如果value=3.1实际会输出3.10)

      <fmt:formatNumber value="${requestScope.num}" pattern="#.##">不补位

      

  • 相关阅读:
    Linux关闭You have new mail in /var/spool/mail/root提示
    表单验证提交内容不能为空的几种方法
    CSS选择器的优先级
    SQL Server BCP 资料导入导出
    软考数据库-系统开发与软件工程
    软考数据库-无损联接分解
    软考数据库-数据结构
    反转字符串, 以单词反转句子
    数组中是否存在两数之和等于目标值
    栈 (Swift数组实现栈)
  • 原文地址:https://www.cnblogs.com/orlion/p/4998974.html
Copyright © 2011-2022 走看看