JSP2

本文详细介绍了JSP标准标签库(JSTL)的不同版本及其在JavaEE平台的应用,并深入探讨了表达式语言(EL)的作用及用法,包括如何从服务器作用域对象中读取数据、EL表达式的不同运算符以及JSTL核心标签中的循环和判断等关键功能。

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

1,页面经常使用的不变的数据,应该放在 Session 中。

2、了解 JSTL 标签库
Jsp Standard tag lib(JSP 标准标签库)
1.0 1.1 1.2 三个版本
在 J2EE 1.4 中用 JSTL 1.1 版本
在 JavaEE 1.5 中用 JSTL 1.2 版本,jar 默认包含在
JavaEE 1.5 中

作用:类似于 JSP 动作标签。简化页面的代码开发
把页面上需要用 <% %> 代码块实现的功能,用标签<>
实现。

3、掌握 EL 表达式语言
Expression Language (表达式语言)
作用:从 服务器作用域对象中,读取数据。
pageContext 、request 、session 、application
//Servlet 中
request.setAttribute("message","你好");
session.setAttribute("message","你不好");

//jsp
String msg = "";
if(request.getAttribute("message")!=null){
msg = (String)request.getAttribute("message");
}

out.println(msg);

//EL
${message}
作用域范围(默认从小范围到大范围查找)
pageContextScope、requestScope、sessionScope、
applicationScope、、

${requestScope.message}
存取器 . []
Stock st = dao.findById(12);
List list = dao.findAll();
Map mp = new HashMap();
mp.put("aa","一");
request.setAttribute("stock",st);
request.setAttribute("list",list);
session.setAttribute("mp",mp);

${requestScope.stock.name}
${requestScope.stock.price}
${requestScope.stock.code}

${requestScope.list[0]} //取出集合对象中第一个值
${sessionScope.mp["aa"]}
运算符
算术运算符 + - * / %
关系运算符 ==(eq) !=(ne) <(lt) <=(le) >(gt) >=(ge)
逻辑运算符 &&(and) ||(or) !(not)
非空运算符 empty
三元运算符 ?:

${aa == bb} ${aa eq bb}
${stu.sex} == '男' 错误
${stu.sex == '男' } 正确


4、掌握 核心的 JSTL 标签---core 中的循环判断
(1)在项目中添加 jstl.jar 库
(2)在每个要使用 jstl 的 jsp 页面头部,声明 taglib
<%@taglib uri="http://java.sun.com/jsp/jstl/core"
prefix="c" %>

判断
<c:if test="${返回boolean 值的El 表达式}"></c:if>

<liu:choose>
<liu:when test="1"></liu:when>
<liu:when test="2"></liu:when>
<liu:when test="3"></liu:when>
<liu:when test="4"></liu:when>
........
<liu:otherwise></liu:otherwise>
</liu:choose>


循环
仿照 java 中的新的 for 循环 for(String temp:arr){}
<c:forEach items="${sessionScope.stocklist}"
var="st" varStatus="statu">
${statu.count} 循环次数
</c:forEach>


循环状态值:
索引 index
是否是循环的开始 first
是否是最后一次循环 last
循环的次数 count


<jsp:xxxx>
<form >
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值