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 <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="#.##">不补位
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |