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>

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


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}"/>,保存项目根路径,使用的时候通过EL表达式取出,${rootPath}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值