域对象&EL表达式&JSTL

本文详细介绍了域对象的四大作用域及其优先级和范围,包括page、request、session和application。接着深入讲解了EL(Expression Language)表达式,包括其功能、语法,以及如何在不同作用域中查找数据。最后提到了JSTL中的forEach标签,用于处理集合对象。

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

目录

一,域对象

        1.1.四大作用域的优先级:

        1.2.四大作用域的范围:

二,EL表达式

         2.1.什么是EL

        2.2.EL的功能

       2.3. EL的语法

2.4.变量属性范围名称

2.5.EL隐式对象

三,JSTL


一,域对象

        1.1.四大作用域的优先级:

                    在当前页面(页面没有发生跳转)
                    page>requesst>session>application
                    页面发生跳转:
                    requesst>session>application


        1.2.四大作用域的范围:

                   page:只能在当前页面有效;
                   page<requesst<session<application

二,EL表达式

        EL表达式是从四大作用域里面获取数据。
        EL表达式在获取作用域里面的值的时候如果没有指定
        作用域,根据作用域的优先级从高到低依次查找,如果找不到则不会继续

         2.1.什么是EL

        EL即Expression Language(表达式语言)

        2.2.EL的功能

        替代JSP页面中的复杂代码

       2.3. EL的语法

        ${  EL exprission }
        ${  bean.name } 或  ${  bean['name'] }

                   ${user.name}实质是调用user的getName()方法

         以“${”作为开始,以“}”作为结束
        直接使用变量名获取值$
        ${  username }

2.4.变量属性范围名称

属性范围

            EL中的名称

page

pageScope,例如${pageScope.username},表示在page范围内查找username变量,找不到返回空

request

requstScope

session

sessionScope

application

applicationScope

2.5.EL隐式对象

对象名称

说  明

pageScope

返回页面范围的变量名,这些名称已映射至相应的值

requestScope

返回请求范围的变量名,这些名称已映射至相应的值

sessionScope

返回会话范围的变量名,这些名称已映射至相应的值

applicationScope

返回应用范围内的变量,并将变量名映射至相应的值

param

返回客户端的请求参数的字符串值

paramValues

返回映射至客户端的请求参数的一组值

pageContext

提供对用户请求和页面信息的访问

三,JSTL

虽然 EL 表达式可以访问 JavaBean 的属性,但是并不能实现在 JSP 中进行逻辑判断,因而要使用 JSTL 标签。
JSTL JavaServerPages Standard Tag Library JSP 标准标签库
JSTL 通常会与 EL 表达式合作实现 JSP 页面的编码
通用标签的使用
set :设置指定范围内的变量值
out :计算表达式并将结果输出显示
remove :删除指定范围内的变量
<!--插入使用核心标签的指令  -->
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 

<body>
<!-- set 标签用于给变量设置值和作用范围-->
<c:set var= "example" value="${100+1}" scope="session"  />	
<!-- out 标签在页面上显示信息或变量值  -->
<c:out value="${example}"/>
<!-- remove 标签用于删除作用域内的变量 -->
<c:remove var= "example" scope="session"/>
</body>	

forEachfor循环语句的变体,实现   集合对象(可以是list、数组等)的处理

<c:forEach var="g" items = "${listGoods}">
			<tr align="center">
			<td>${g.gid }</td>
			<td>${g.gname }</td>
			<td>${g.gprice}</td>
			<td>${g.ginfo}</td>
			<td>
				<img src="${pageContext.request.contextPath }/static/${g.gpath }" title="商                        
                    品图片" alt="图片加载失败" />
			</td>
			<td>
				<a href="${pageContext.request.contextPath }/addCartServlet?gid=${g.gid }"> 
                      加入购物车</a>
				<a href="#">立即购买</a>
			</td>
		</tr>
 </c:forEach>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值