怎么使用jstl核心标签库

简单介绍jstl核心标签库的常用标签写法

知兮丶青
阅读(212) 2017-12-01
怎么使用jstl核心标签库
怎么使用jstl核心标签库

今天简单介绍下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


其他比较少用的标签就不一一介绍了。

zip icon
jstl核心标签库常用的标签例子.zip ceb0f5adad9053a4aab67e3b0fc1e5d7

已下载:254

原创文章,转载请注明出处:https://www.weizhixi.com/article/12.html