jstl

本文深入解析JSTL(JavaServer Pages Standard Tag Library)的使用方法与核心功能,包括替代JSP脚本实现逻辑控制,如if条件判断与forEach循环遍历,以及如何在JSP页面中正确导入和应用这些标签。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JSTL:是开放源代码的JSP标签库,是apeache 的。
**作用是:**替代jsp脚本<%%>。 替代页面上的逻辑语言(比如if 循环等)
使用步骤:

  1. 在项目中导入jar 包【jstl.jar / standard.jar】
  2. 在jsp 页面上导入标签库:<%@taglib prefix= " " uri=" "%>

jstl 的分类:
core :核心类库【只有这一个经常使用并且需要掌握】
fmt : 格式化/xml /sql /函数库

core★★★

(core 中一共有13个标签)标签:【掌握两个判断/循环】

  • C:if 判断
    < C : if test="$ { el 表达式}" > 满足的时候输出的内容</C:if>

关于使用记住: 标签,属性,输出

//导入标签库
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
//if 的使用
<c:if test="${3>4}"> a&gtb </c:if>
<c:if test="${3<=4}"> a&ltb </c:if>
  • C:forEach 循环
    在JSP页面导入标签库:
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
  • 格式1:【基本使用】
    - <c:forEach begin=“从哪里开始” end=“到那里结束” step=“步长” var=“变量名” varStatus=“循环状态变量”>
    $ {i}—$ {vars.count}–${vars.current}< br>
    </c:forEach>

                     **varStatus** : 用来记录循环状态量。
                     常用属性:
                     				1. count : 记录循环次数
                     				2. current : 当前遍历到的内容
    

例如:

变量i---循环次数---当前数据<br>
<c:forEach begin="1" end="20" step="2" var="i" varStatus="vars">
    ${i}---${vars.count}--${vars.current}<br>
//输出i 相当于java 中的:
for(int i=1;i<11;i++)输出i
  • 格式2:【高级使用:遍历容器
    格式:

代码:
<c:forEach items=“遍历对象” var=“设置变量” varStatus=“状态变量”>
$ {n}–$ {m.count}< br>
</c:forEach>

【var=“n” 设置的变量相当于在java 中使用for-each,用来表示集合中的数据的变量】

<%--遍历request 域中的list set map--%>
<c:forEach items="${list}" var="n" varStatus="m">
${n}--${m.count}<br>
</c:forEach>

相关注释:
<%-- 遍历原理
相当于在java 中使用foreach 语句遍历容器
for(String a:list){
输出 a
}
–%>

<hr>
<%--遍历set--%>
<c:forEach items="${set}" var="n" varStatus="m">
    ${n}--${m.count}<br>
</c:forEach>
<hr>
<%--遍历map 遍历获取到的是一个键值对--%>
<c:forEach items="${map}" var="en">
    ${en.key}--${en.value}<br>
</c:forEach>

相关注释:
遍历集合map 时,获取的时一个键值对,变量var=“en” en 是一个键值对。通过javabean 导航就可以获取键(key) 值(value)

小总结:

其实在jstl 中的for  的原理都是Java中的for-each ,搞清楚相关的量对应的关系

了解core的其两个标签:

  1. c:set:向域中设置值
    使用格式:<c: var=“变量名” value=“变量的值” scope=“存入哪一个域”>
<c: var="day" value="3"/>  相当于,pageContext.setAttribute("day","3")
//不指定域,就是存放在整个页面中(pageContext 域中)
  1. <c:choose><c:when test="${el 表达式}">表达式成立的时候的输出</c:when></c:choose>
    这个表达式相当于if-else if-if else.有一个条件成立,则输出,结束判断
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值