加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

jstl标签库

发布时间:2020-12-15 07:16:00 所属栏目:Java 来源:网络整理
导读: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

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

  

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读