怎么使用jstl核心标签库
阅读(216)
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
其他比较少用的标签就不一一介绍了。
已下载:288 次
原创文章,转载请注明出处:https://www.weizhixi.com/article/12.html