EL 11个内置对象

JSP开发人员可以在EL表达式中使用EL隐式对象,而不用任何显式的编码或声明。语法如下:

${隐式对象名}  <!-- 获取EL隐式对象的引用 -->

在JSP页面中,可以使用JSP脚本来 <% ... %> 访问JSP隐式对象(9个)。但是在免脚本的JSP页面中则不可能访问这些JSP隐式对象,因此EL提供了一组自己的隐式对象(11个)来访问不同的对象。

EL隐式对象类型说明
pageContextjavax.servlet.jsp.PageContext 
initParamjava.util.Map包含所有环境初始化参数,key是参数名,value是参数值
paramjava.util.Map包含所有请求参数,key是参数名,value是指定参数名的第一个参数值
paramValuesjava.util.Map包含所有请求参数,key是参数名,value是指定参数名的所有参数值组成的字符串数组
headerjava.util.Map包含请求标题,key是标题名,value是指定标题名称的第一个标题
headerValuesjava.util.Map包含请求标题,key是标题名,value是指定标题名称的所有标题组成的字符串数组
cookiejava.util.Map包含当前请求对象中的所有cookie,key是cookie名称,value是cookie值
pageScopejava.util.Map包含了当前页面范围内的所有属性,key是属性名,value是属性值
requestScopejava.util.Map包含了当前HttpServletRequest对象中的所有属性,key是属性名,value是属性值
sessionScopejava.util.Map包含了当前HttpSession对象中的所有属性,key是属性名,value是属性值
applicationScopejava.util.Map 包含了当前ServletContext对象中的所有属性,key是属性名,value是属性值

 

 

 

 

 

 

 

 

 

 

 

pageContext对象

pageContext对象跟JSP中的隐式对象pageContext相同,表示当前JSP页面的 javax.servlet.jsp.PageContext,在EL中使用该对象可以获取其他的JSP隐式对象。

${pageContext.request}         <!-- 获取JSP的内置对象 request -->
${pageContext.response}        <!-- 获取JSP的内置对象 response -->
${pageContext.out}             <!-- 获取JSP的内置对象 out -->
${pageContext.servletConfig}   <!-- 获取JSP的内置对象 config -->
${pageContext.page}            <!-- 获取JSP的内置对象 page-->
${pageContext}                 <!-- 获取JSP的内置对象 pageContext-->
${pageContext.session}         <!-- 获取JSP的内置对象 session-->
${pageContext.servletContext}  <!-- 获取JSP的内置对象 application-->
${pageContext.exception}       <!-- 获取JSP的内置对象 exception-->

initparam对象

访问初始化参数的隐式对象,用于获取上下文参数(即初始化参数)的值

${initParam["password"]}  <!-- 获取名为password的初始化参数的值 -->

param对象 和 paramValues对象

用于获取请求参数的值,param对象只能获取请求参数的第一个参数值。如果两个请求参数同名,则只能访问到第一个参数的值;params对象用于获取一个请求参数的多个值,返回所有值的字符串数组

${param["userName"]}  <!-- 获取请求参数userName的第一个值-->
${paramValues["selectedOptions"][0]}  <!-- 获取请求参数selectedOptions的第一个值 -->
${paramValues["selectedOptions"][0]}  <!-- 获取请求参数selectedOptions的第二个值 -->

header对象 和 headerValues对象

用于获取请求头部分的相关信息,header对象获取请求头中标题的第一个值,headerValues对象获取请求头中标题的所有值,返回一个字符串数组

${header["accept-language"]}
${headerValues["accept-language"][0]}

cookie对象

可以用来获取一个cookie

${cookie["jseesionid"]["value"]}  <!-- 获取jsseionid的cookie值 -->
${cookie.jssessionid.path}  <!-- 获取jsessionid的cookie的路径 -->

pageScope对象、requestScope对象、sessionScope对象、applicationScope对象

用于获取不同作用域范围内的属性值。

有界对象也可以通过没有范围的EL表达式获取。此时,JSP容器将返回PageContext、ServletRequest、HttpSession、ServletContext中第一个同名的对象,执行顺序是从最小范围到最大范围。

 

EL隐式对象的特点

1)EL只能获取对象的属性,不能改写,也不能直接调用方法。

2)EL中的字符串既可以使用双引号也可以使用单引号,类似于HTML

3)EL表达式在计算时会将字符串转换成数值(null --> 0)

4)EL输出null时用空串(“”)代替

5)EL不能访问局部变量,只能访问作用域中的属性

6)EL中的empty运算符将“”是为null

7)EL中比较字符串内容使用==

转载于:https://www.cnblogs.com/0820LL/p/9845374.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值