EL的隐含对象(一)【页面上下文对象】

时间:2021-02-18 08:43:46

页面上下文对象为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”-->

相关文章