当前课程知识点:Web后端开发技术 > 第5章 表达式语言 > 5.2 el隐含对象 > 5.2.1 EL隐含对象
欢迎同学回来继续学习
web后端开发技术
这一小节我们将学习EL隐含对象
EL隐含对象分为这么三类
第1类是与范围有关的隐含对象
共计有4个
第2类是与请求参数有关的隐含对象
有2个
还剩下其他5个隐含对象
下面我们逐一的给大家介绍一下
首先与范围有关的隐含对象
有这么4个
第1个是pageScope这样一个隐含对象
当我们在EL表达式中使用
这样隐含对象的时候
它实际上是相当于写了这样一行代码
pageContext.getAttribute
也就说它是在页面域去查找
这样一个属性
第2个叫做requestScope
这样一个隐含对象
它是在请求域去查找属性
它的作用是相当于这个代码的编写
第3个叫做sessionScope
它去会话域
去找这样一个属性值
它的作用相当于这样一个代码的编写
最后一个是applicationScope
它是从应用域范围中去找属性
它的作用是相当于
application.getAttribute
那么
以上就是4个与范围有关的
EL隐含对象
我们在编写代码过程当中需要注意
一个细节
这里面S都是大写的
那么怎么来使用隐含对象
这里面有个示例
在这个示例当中我们看到
sessionScope.user
通过sessionScope内置的隐含对象
来去找user变量
进而去找到它的sex的属性
下面我们再看一个示例
在访问作用域中的变量
在这个代码当中
我们首先看一下
通过request 在request的请求域当中
设置attri1这样一个变量名
它的值为
EL request的这样一个值
然后它得到一个session对象
在会话域存了另外的一个属性
属性名是attri2
它的值是EL Session
然后这个页面做了一个转发
那么在JSP页面当中
我们就可以这样来获取刚才存在
请求域和会话域当中的这个变量了
对于请求域我们就可以这样来写
requestScope.attri1
第2个对于会话域中的变量
我们就可以这样来写
sessionScope.attri2
当然我们这个代码也可以把这个和这个去掉
这样它会自动的按照这个范围的
小范围向大范围来一个一个去找
但是执行效率肯定没有我们明确指出
它的范围
这样的执行效率高
我们再看一个示例
在这个示例当中
我们看到这里面使用useBean
setProperty和getProperty
创建了一个product变量
然后通过setProperty为这个变量当中的
num属性赋值
为price属性赋值
接下来我要取它的属性
那么取的时候
我这里写了两种取的方式
第1种方式我们使用的是
getProperty取这个值
需要注意的是这里name product
一定要和id当中product是一一对应的
不能多字母也不能少字母
这是一种方式
第2种方式我们是使用EL来访问的
我们需要注意的是这里面也有一个
product
它要和这里面这个product是一一对应的
这两种方式都能得到结果
这个结果应该是一样的
第2类是与请求参数有关的
EL隐含对象
那么有两个
一个是param
param这个隐含对象
它是用于获取请求参数中的单个值
相当于request.getParameter
这样一个方法的调用
第2个叫做ParameterValues
隐含对象
它的使用是用于获取一组参数的值
它相当于这个方法的调用
我们看一个示例
有这样一个请求的地址
我们看到有这样一个参数
那么在EL表达式当中
我们就可以使用
param
这个隐含对象.name
那么它就会取到当前name所对应的
mooc这个值
除了与范围有关的内置对象
与请求参数有关内置对象之外
还有其他的5个隐含对象
第1个是pageContext
它相当于jsp当中的pageContext
它的主要作用是用于获取其他的
JSP内置对象以及在页面域进行属性的
属性的存取
接下来是header隐含对象
它用于获取HTTP
请求头当中的单个的值
它相当于request.getHeader
这个方法的调用
第3个是headerValues
它用于获取HTTP
请求头的一组值
它相当于request.getHeaders
这个方法的调用
下面是Cookie就用于获取指定的Cookie
最后一个叫做initParam
它用于获取上下文初始化的参数
那么它相当于方法的调用
下面我们看一个示例
我们知道servlet的有两种配置方式
一种是通过注解方式进行配置
另外一种是通过web.xml文件进行配置
那么对于一个web应用来讲
它也有配置
那么这个配置是可以在web.xml
文件当中进行配置的
那么这里面我们介绍一下
在web.xml当中
我们可以增加这样一个元素
叫做context-param
那么在这个元素当中
再添加两个子元素
一个子元素叫做
param-name
用来指定这个参数的名称
对应着这里的参数名叫
website
第2个子元素叫做param-value
也就说这个名所对应的值是什么呢
这个值是这样一个网址
就是中国MOOC这样一个网址
那么下面这行代码是使用initParam
内置的隐含对象来获取
website所对应的值
好
这一小节我们就讲到这里
再见
-1.0 导学
--1.0.1 导学
-1.1 Web应用开发概述
--1.1.3 测试
-1.2 准备Java Web应用开发环境
--1.2.2 测试
-1.3 任务实现:Hello World Web项目
--1.3.2 测试
-1.4 小结
--1.4.1 小结
-本课程所有代码
--课程参考代码
-2.0 导学
--2.0.1 导学
-2.1 Servlet概述
--2.1.3 测试
-2.2 创建Servlet
--2,2,3 作业
-2.3 Servlet应用
--2.3.4 测试
-2.4 任务实现:某高校毕业生信息发布系统-注册与登录(Servlet版)
--2.4.3 测试
-2.5 ServletConfig接口
-2.6 ServletContext接口
-2.7 HttpServletRequest接口
--2.7.5 测验
-2.8 HttpServletResponse接口
--2.8.3 测试
-2.9 任务实现:某高校毕业生信息发布系统-简历添加
--2.9.1 任务实现:某高校毕业生信息发布系统-简历添加
-2.10 小结
-动画演示:Java Web应用服务器处理客户端请求的过程
-3.0 导学
--3.0.1 导学
-3.1 Cookie技术
--3.1.3 测试
-3.2 Session技术
--3.2.2 Session技术-Session技术应用购物车
--3.2.3 测试
-3.3 URL重写与隐藏表单域
--3.3.2 测试
-3.4 任务实现:某高校毕业生信息发布系统-简历修改
--3.4.1 任务实现:某高校毕业生信息发布系统-简历修改
-3.5 小结
--3.5.1 小结
-4.0 导学
-4.1 jsp概述
--4.1.2 测试
-4.2 脚本元素
--4.2.2 测试
-4.3 指令元素
--4.3.2 测试
-4.4 动作元素
--4.4.3 测试
-4.5 内置对象
--4.5.3 测试
-4.6 JavaBean
--4.6.3 测试
-4.7 任务实现:某高校毕业生信息发布系统-首页(JSP版)
--4.7.1 任务实现:某高校毕业生信息发布系统-首页(JSP版)
-4.8 小结
--4.8.1 小结
-5.0 导学
--5.0.2 测试
-5.1 el语法
--5.1.2 测试
-5.2 el隐含对象
--5.2.2 测试
-5.3 任务实现:某高校毕业生信息发布系统-学生详细信息展示
--5.3.1 任务实现:某高校毕业生信息发布系统-学生详细信息展示
--5.3.2 测试
-5.4 小结
--5.4.1 小结
-6.0 导学
--6.0.2 测试
-6.1 核心标签库
--6.1.5 测试
-6.2 任务实现:某高校毕业生信息发布系统-首页(JSTL版)
--6.2.1 任务实现:某高校毕业生信息发布系统-首页(JSTL版)
--6.2.2 测试
-6.3 小结
--6.3.1 小结
-7.0 导学
--7.0_导学
-7.1 过滤器
--7.1.3 测试
-7.2 监听器
--7.2.1.1与ServletContext相关的监听器
--7.2.4 测试
-7.3 任务实现:某高校毕业生信息发布系统-单态登录
--7.3.1 任务实现:某高校毕业生信息发布系统-单态登录
--7.3.2 测试
-7.4 小结
--7.4.1小结
-8.0 导学
--8.0_导学
-8.1 JDBC API
--8.1.2 测试
-8.2 JDBC API访问MySQL基本步骤
--8.2.2 测试
-8.3 任务实现:某高校毕业生信息发布系统-注册与登录
--8.3.1 任务实现:某高校毕业生信息发布系统-注册与登录(JDBC版)
--8.3.2 测试
-8.4 小结
--8.4.1小结
-9.0导学
--9.0导学
-9.1 技术准备
--9.1.5 测试.
-9.2 系统设计
-9.3 系统实现
-9.4 小结
--9.4.1小结


