码迷,mamicode.com
首页 > Web开发 > 详细

jstl标签库

时间:2015-11-26 22:51:35      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:

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="#.##">不补位

  

jstl标签库

标签:

原文地址:http://www.cnblogs.com/orlion/p/4998974.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!