JSTL学习

本文介绍了JSTL的基础知识,包括JSP作用域、变量的操作(赋值、取值、删除),以及流程控制的条件判断和循环结构。详细讲解了如何使用<c:if test="">进行条件判断,以及如何通过<c:forTokens>进行字符串拆分和遍历。此外,还提到了fmt:formatNumber和fmt:formatDate用于数字和日期的格式化。

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

JSTL(JavaServer Pages Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的

JSP作用域

	pageContext 当前页面 
	requestContext 一次请求 
	sessionContext 当前会话 
	applicationContext 全局,所有用户共享

变量的基本操作—赋值,取值,删除

在jsp页面中使用jstl,需要使用下面语句进行声明。其中 prefix=“c” 表示jsp语句将以<:c 开头

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
  1. 赋值
 <c:set var="name" value="${'gareen'}" scope="request" />
<%request.setAttribute("name","gareen")%>

以上两条语句是等价的,request表示作用域
2. 取值

<c:out value="${name}" />

相当于

 <%=request.getAttribute("name")%>

在jsp el中 直接 ${name}
3. 删除

<c:remove var="name" scope="request" />

相当于:

<%request.removeAttribute("name")%>

流程控制

JSTL通过<c:if test=""> 进行条件判断

<c:if test="${i<5}">
    <p>如果成功,则输出这儿的语句</p>
</c:if>

在${ 。。。}里面写判断语句 ,如例子中的 i < 5
JSTL中没有else if, 但可以通过if语句取反达到else if的功能

<c:if test="${!(i<5)}">

另一种if,else if

<c:choose>
     <c:when test="${hp<5}">
        <p>如果成功,则显示这儿内容</p>
	</c:when>
	<c:otherwise>
		<p>如果失败,则显示这儿内容</p>
	</c:otherwise>
</c:choose>

循环


<c:forEach items="${heros}" var="hero" varStatus="st"  >

items="${heros}" 表示遍历的集合
var=“hero” 表示把每一个集合中的元素放在hero上
varStatus=“st” 表示遍历的状态

<table width="200px" align="center" border="1" cellspacing="0">
<tr>
    <td>编号</td>
    <td>英雄</td>
</tr>
   
<c:forEach items="${heros}" var="hero" varStatus="st"  >
    <tr>
        <td><c:out value="${st.count}" /></td>  <!--计数-->
        <td><c:out value="${hero}" /></td>
    </tr>
</c:forEach>
</table>

<c:forTokens专门用于字符串拆分,并且可以指定多个分隔符>
</c:forTokens>

<c:set var="heros" value="塔姆,艾克;巴德|雷克赛!卡莉丝塔" />
 
<c:forTokens items="${heros}" delims=":;|!" var="hero">
    <c:out value="${hero}" /> <br />
</c:forTokens>

fmt:formatNumber 格式化数字
fmt:formatDate 格式化日期

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值