怎么使用jstl核心标签库
阅读(237)
2017-12-01
今天简单介绍下JSTL核心标签,红色部分是经常用的。
首先引入:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><%--核心标签--%>
<c:out>用于在JSP中显示数据
<c:set>用于设置保存数据
<c:if>与程序中if一样,但没else
<c:choose>本身只当做<c:when>和<c:otherwise>的父标签,就像 if、elseif、else结构
<c:when><c:choose>的子标签,用来判断条件是否成立,就像 if、elseif
<c:otherwise><c:choose>的子标签,接在<c:when>标签后,当<c:when>标签判断为false时被执行,就像 else
<c:forEach>基础迭代标签,接受多种集合类型
<c:remove>用于删除数据
<c:catch>用来处理产生错误的异常状况,并且将错误信息储存起来
<c:import>检索一个绝对或相对 URL,然后将其内容暴露给页面
<c:forTokens>根据指定的分隔符来分隔内容并迭代输出
<c:param>用来给包含或重定向的页面传递参数
<c:redirect>重定向至一个新的URL.
<c:url>使用可选的查询参数来创造一个URL
<c:set>
<c:set var="name" value="微知兮"></c:set>
${name}
<c:set var="name" scope="session" value="JSTL"></c:set><!--使用session范围-->
${sessionScope.name}页面输出
微知兮 JSTL
<c:out>
<c:set var="name" value="张三"></c:set>
<c:out value="${name}" />
<c:out value="${name1}" default="这家伙很懒,什么也没留下!"></c:out>
<c:set var="name" value="你<b>好</b>"></c:set>
<c:out value="${name}"></c:out><!--escapeXml默认为true-->
<c:out value="${name}" escapeXml="false"></c:out>页面输出
张三 这家伙很懒,什么也没留下! 你<b>好</b> 你好
备注:“你好”的好字是加粗的,如:你好
<c:if>
<%@ page import="java.util.*" %>
<c:set var="v1" value="1"></c:set>
<c:set var="v2" value="2"></c:set>
<c:if test="${v1<v2}">vl小于v2</c:if>
<c:if test="${v1<v2}" var="val">value: ${val}</c:if>
<%
List list = new ArrayList();
list.add("hello");
request.setAttribute("list",list);
%>
<c:if var="list" test="${!empty list}">${list}</c:if>页面输出
vl小于v2 value: true true
<c:choose>、<c:when>、<c:otherwise>
<c:set var="a" value="1"></c:set>
<c:set var="b" value="2"></c:set>
<c:choose>
<c:when test="${a<b}">
c:when:a < b
</c:when>
<c:otherwise>
c:otherwise: a > b
</c:otherwise>
</c:choose>页面输出
c:when:a < b
<c:forEach>
<%@page import="java.util.*"%>
<c:forEach var="c" begin="1" end="5">
${c}
</c:forEach>
<%
List list1 = new ArrayList();
list1.add("我");
list1.add("爱");
list1.add("你");
request.setAttribute("list1",list1);
%>
<c:choose>
<c:when test="${not empty list1}">
<c:forEach var="item" items="${list1}">
${item}
</c:forEach>
</c:when>
<c:otherwise>
没有符合的数据
</c:otherwise>
</c:choose>
<!--varStatus 相当于计数器-->
<c:forEach var="v" begin="0" end="3" varStatus="vs">
${vs.count}---${v}---${vs.index}<br/>
</c:forEach>
<!--测试step步长-->
<c:forEach var="v" begin="1" end="10" step="3">
step:${v}<br/>
</c:forEach>
<!--循环取出Map-->
<%
Map map = new HashMap();
map.put("k1","v1");
map.put("k2","v2");
request.setAttribute("map",map);
%>
<c:forEach var="v" items="${map}">
${v.key}=>${v.value}<br/>
</c:forEach>页面输出
12345 我爱你 1---0---0 2---1---1 3---2---2 4---3---3 step:1 step:4 step:7 step:10 k1=>v1 k2=>v2
其他比较少用的标签就不一一介绍了。
已下载:345 次
原创文章,转载请注明出处:https://www.weizhixi.com/article/12.html
