JSTL——java标准标签库,java starand taglib

02——JSTL
1.java标准标签库,java starand taglib
2.主要作用:
用来替代jsp文件中的java代码
一些逻辑判断
if判断
for循环
3.一般是和EL 表达式结合使用
4.语法应用
1.在项目中引入jstl.jar和standard.jar
2.在页面中使用taglib指定引入标签库
3.在html代码中使用标准标签

5.常用标签
1.if判断
java中的if(条件){}
=====================================
<%--只有满足test标签里的,才会显示--%>
<span style="color:red;">
<c:if test="${not empty msg}">
test的值为true时,执行的代码
${msg}
</c:if>
</span>

test属性:主要结合el表达式进行判断

2.forEach循环
java中的 for(String str : list)
================================
<ul>
<c:forEach var="str" items="${list}" varStatus="vs">
<%-- 循环体--%>
<c:if test="${vs.first}">
<li style="font-weight: bold">${str}--${vs.index}--${vs.count}--${vs.first}</li>
</c:if>
<c:if test="${not vs.first}">
<li>${str}--${vs.index}--${vs.count}--${vs.first}--${vs.last}</li>
</c:if>

每一个 元素值:${str}
下标(从0开始):${vs.index}
序号:${vs.count}
第一个:${vs.first}
最后一个:${vs.last}
</c:forEach>
</ul>

var:代表的是集合或者数组中的每一个变量,这个名称自定义即可
items:代表要遍历的集合或者数组,需要使用EL表达式
varStatus:代表当前正在遍历的对象的状态,属性值自定义即可

3.普通循环(用于页码的超链接上)
java中:for(int i = 0;i<5;i++){}
======================================
<c:forEach var="i" begin="0" end="4" step="1">
${i}
</c:forEach>

var:代表迭代变量
begin:起始值
end:结束值
step:步长

4.其他标签

<%-- 往某个范围对象中存储数据--%>
<c:set var="msg" value="hello" scope="session"></c:set>
${sessionScope.msg}

思考:

是否可以利用这个标签,进行父子页面传值?(如果可以,必须要至少存到session域中,不能存到request域中)

<%--获取到范围对象中的值,显示到页面中--%>
<c:out value="${msg}"></c:out>

获取其他页面传来的值,相当于<%= ${}%>

<%-- 移除某个范围内的变量--%>
<c:remove var="msg" scope="session"></c:remove>

移除变量后 ${sessionScope.msg}

<%--重定向标签--%>
<c:redirect url="register.jsp"></c:redirect>


注意:
EL和JSTL一般都是出现在HTML代码中,不要出现在js代码中

原文地址:https://www.cnblogs.com/longmo666/p/13298265.html