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代码中
__EOF__

本文链接:https://www.cnblogs.com/longmo666/p/13298265.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)