JSTL【一】C标签的使用


一、jstl标签介绍:jstl标签是为了解决EL表达式不能循环取出集合对象的问题,是建立在EL表达式基础上的语言,两者之间是互通的,属于jsp外部的一个标准标签,库导入标签格式为:<%@ taglib uri=”http://java.sun.com/jsp/jstl/core” prefix=”c” %>

二、核心标签C标签使用介绍:
1、 输出标签:<c:out value="${属性名}"></c:out>

2、迭代标签:
    <c:forEach items="${userList}" var="user" varStatus="status" begin="0"  end="${userList.size}" step="1" >
        //循环体
        <c:out value="${status.index}"></c:out>
        <c:out value="${status.count}"></c:out>
        <c:out value="${ user.name }"></c:out>
        <c:out value="${ user.age }"></c:out>
    </c:forEach>

参数说明:
1)items:是集合,用EL表达式;
2)var:变量名,存放items各个项 ,代表集合中每一条数据
3)varStatus: 显示循环状态的变量,有一下几个属性:
    ①index:从0开始; 显示当前迭代的索引值
    ②count:元素位置,从1开始;  显示当前迭代显示的行位置,通过配合判断语句,实现给奇、偶行着不同的色,以进行分区
    ③first:如果是第一个元素则显示true; 
    ④last:如果是最后一个元素则显示true;
4)begin:循环的初始值(整型);
5)end: 循环结束(整型);
6)step:步长,循环间隔的数值(整型);

3、判断标签:
<c:if test=”判断语句”></c:if>:如果满足test中的条件,则执行<c:if></if>标签对之间的的语句,相当于if….的结构功能,例如:<c:if test=”${null != user}”>……</c:if>

4、多重判断标签:由于JSTL没有形如if (){…} else {…}的条件语句,所以这种形式的语句只能用<c:choose>

&lt;c:choose&gt;
    &lt;c:when test="判断语句1"&gt;执行语句1&lt;/c:when&gt;
    &lt;c:when test="判断语句2"&gt;执行语句1&lt;/c:when&gt;
    ..........
    &lt;c:otherwise&gt;前面都不符合,执行此默认语句&lt;/c:otherwise&gt;
&lt;/c:choose&gt;

5、重定向请求标签:标签将请求重新定向到另外一个页面
<c:redirect url=”http://www.baidu.com/login.jsp”/>,将请求重新定向到http://www.baiddu.com/login.jsp页,相当于response.setRedirect (“http://www.yourname.com/login.jsp“);

6、参数标签:
<c:param>标签,用来传递参数给一个重定向或包含页面
例子:
<c:redirect url=”http://www.baidu.com/login.jsp”>
<c:param name=”paramName” value=”paramValue”/>
</c:redirect>
这个就在地址栏里面显示的形式为:http://www.baidu.com/login.jsp?paramName=paramValue

7、url编码标签:
<c:url>标签将URL格式化为一个字符串,然后存储在一个变量中。这个标签在需要的时候会自动重写URL。var属性用于存储格式化后的URL。
<c:url>标签只是用于调用response.encodeURL()方法的一种可选的方法。它真正的优势在于提供了合适的URL编码,包括<c:param>中指定的参数。

8、数据保存标签:
<c:set>标签就是<jsp:setProperty>行为标签的孪生兄弟,用于保存数据
例如:<c:set var=”rootPath” value=”${pageContext.request.contextPath}"/&gt;,保存项目根路径,使用的时候通过EL表达式取出,${rootPath}

PS:所有使用c标签的过程中,使用了var属性,代表保存了该数据,则都可以通过EL表达式取出,如上面的第8条

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值