EL的隐含对象(一)【页面上下文对象】
页面上下文对象为pageContext,用于访问JSP内置对象(例如:request、response、out、session、exception、page等)和ServletContext。在获取到这些内置对象后,就可以获得其属性值。这些属性与对象的getXXX()方法相对应,在使用时,去掉方法名中的get,并将首字母改为小写字母即可。
(1)访问request对象
通过pageContext获取JSP内置对象中的request对象,可以使用下面语句:
${pageContext.request}
例:访问getServerPort()方法,可以使用下面代码:
${pageContext.request.serverPort} <!--这段代码将返回端口号,这里是8080-->
注意:不可以通过pageContext对象获取保存到request范围内的变量。
(2)访问response对象
通过pageContext获取JSP内置对象中的response对象,可以使用下面语句:
${pageContext.response}
获取response对象后,可以通过该对象获取与响应相关的信息。
例如:获取响应的内容类型。要获取响应的内容类型,可以使用如下的代码:
${pageContext.response.contentType} <!--这段代码返回值为“text/html;charset=UTF-8”.-->
(3)访问out对象
通过pageContext获取JSP内置对象中的out对象,可以使用如下语句:
${pageContext.out}
获取到out对象后,可以通过该对象获取与输出相关的信息。
例:输出缓冲区的大小。要获取缓冲区的大小,可以使用下面代码:
${pageContext.out.bufferSize} <!--这里返回值为8192-->
(4)访问session对象
通过pageContext获取JSP内置对象中的session对象,可以使用如下语句:
${pageContext.session}
获取到session对象后,就可以通过该对象获取与session相关的信息。
例:session的有效时间。要获取session的有效时间,可以使用下面的代码:
${pageContext.session.maxInactiveterval} <!--这里返回值为1800秒,即30分钟-->
(5)访问exception对象
通过pageContext获取JSP内置对象中的exception对象,可以使用如下语句:
${pageContext.exception}
获取到exception对象后,就可以通过该对象获取JSP页面的异常信息。
例:获取异常信息字符串。可以使用如下代码:
${pageContext.exception.message}
说明:在使用该对象时,也需要在可能出现错误的页面中指定错误处理页,并且在错误处理页中指定page指令的isErrorPage属性值为true,然后再使用上面的EL输出异常信息。
(6)访问page对象
通过pageContext获取JSP内置对象中的page对象,可以使用如下语句:
${pageContext.page}
获取到page对象后,就可以通过该对象获取当前页面的类型文件,具体代码如下:
${pageContext.page.class} <!--这里将返回值为“class org.apache.jsp.index_jsp”-->
(7)访问ServletContext对象
通过pageContext获取JSP内置对象中的servletContext对象,可以使用如下语句:
${pageContext.servletContext}
获取到ServletContext对象后,就可以通过该对象获取Servlet上下文信息。
例:获取上下文路径。获取Servlet上下文路径的具体代码如下:
${pageContext.servletContext.contextPath} <!--这里返回值为“/Test_EL”-->
EL的隐含对象(一)【页面上下文对象】的更多相关文章
- (69)Wangdao.com第十一天_JavaScript 指定函数对象的 this 上下文对象
指定函数对象的 this 上下文对象 即调用函数对象的 .call() 或者 .apply() 方法 指定 this 指向指定的对象. function myFun(){ document.write ...
- 四大域对象,和jsp的九大隐式对象,已经el表达式的11个隐式对象
四大域对象 1.PageContext :页面范围的数据 2.ServletRequest:请求范围的数据 3.HttpSession:回话范围的数据 4.ServletContext:应用范围的数据 ...
- (63)Wangdao.com第十天_预处理、预解析_函数 上下文对象、参数列表对象
预解析.预处理 1. 在全局代码执行之前,js 引擎 就会创建一个栈来存储管理所有的 执行上下文对象 2. 在 全局执行上下文 window 确定以后,进行压栈 3. 在 函数执行上下文对象 确定以后 ...
- Servlet配置对象、上下文对象、多线程问题
一.Servlet配置对象(ServletConfig):Servlet初始化时,容器调用其init(ServletConfig)方法,传递该对象. 1.获得对象方法: (1).直接使用getServ ...
- servlet的九大内置对象和四大域对象
隐式对象 说明 request 转译后对应HttpServletRequest/ServletRequest对象 response 转译后对应HttpServletRespons/ServletRes ...
- Jsp(3):内置对象和四种域对象的理解
由来:在jsp开发中,会频繁使用到一些对象 .例如HttpSession,ServletContext,ServletContext,HttpServletRequet.所以Sun公司设计Jsp时,在 ...
- JSP九大隐式对象和四大域对象-----面试
因为jsp实质是一个Servlet对象:jsp在第一次访问时会被Web容器翻译成Servlet,在执行过程:第一次访问---->inex.jsp---->index_jsp.java--- ...
- EL表达式隐含对象
EL表达式语言中定义了11个隐含对象,使用这些隐含对象可以很方便地获取web开发中的一些常见对象,并读取这些对象的数据. 语法:${隐式对象名称} :获得对象的引用 <%@ page lang ...
- 【无私分享:ASP.NET CORE 项目实战(第二章)】添加EF上下文对象,添加接口、实现类以及无处不在的依赖注入(DI)
目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 上一章,我们介绍了安装和新建控制器.视图,这一章我们来创建个数据模型,并且添加接口和实现类. 添加EF上下文对象 按照我们以前 ...
随机推荐
- 解决sudo: npm: command not found
sudo ln -s /opt/node-v11.4.0/bin/npm /usr/bin/npm sudo ln -s /opt/node-v11.4.0/bin/node /usr/bin/nod ...
- nginx url问题
测试需求,url自动加/后,发现重定向不带端口,即为 test.a.com:3443/abc nginx自动重定向301到 test.a.com/abc,端口消失. 分析可能和nginx默认配置se ...
- 原来的ALL IN ONE架构,快速的演进成为SOA架构
原来的ALL IN ONE架构,快速的演进成为SOA架构 京东服务市场高并发下SOA服务化演进架构 原创: 张俊卿 京东技术 今天
- Chap2:什么是shell[The Linux Command Line]
shell - a program that takes keyboard commands and passes them to the operating system to carry out ...
- ios-静态库,动态库,framework浅析(一)
一,所谓的“库” * 所谓的“库” 库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用.什么时候我们会用到库呢? 一种情 ...
- Appium入门(8)__控件定位
部分摘自:http://www.testclass.net/appium/appium-base-find-element/ appium 通过 uiautomatorviewer.bat 工具来查看 ...
- java 线程(七)等待与唤醒
package cn.sasa.demo5; public class Resources { private String name; private boolean gender; //标记 pu ...
- python面试题~反射,元类,单例
1 什么是反射?以及应用场景? test.py def f1(): print('f1') def f2(): print('f2') def f3(): print('f3') def f4(): ...
- Failed to load bundle(http://loaclhost:8081/index.bundle?platfrom=ios.....
另外RN的创建的项目可能上架审核不太容易通过,祝你好运 1.可能当前同时运行多个项目,关闭一个项目就可以,或者重启 2.init 命令默认会创建最新的版本,而目前最新的 0.45 及以上版本需要下载 ...
- linux下修改/etc/profile文件
inux下修改/etc/profile文件 2017年01月06日 14:30:12 白昙 阅读数:8540 标签: linux 更多 个人分类: linux 通常情况下,/etc/profile ...