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”--> 

原文地址:https://www.cnblogs.com/lihuibin/p/7724435.html