pageContext对象是JSP中很重要的一个内置对象,不过在一般的JSP程序中,很少用到它。它是javax.servlet.jsp.PageContext类的实例对象,可以使用PageContext类的方法。实际上,pageContext对象提供了对JSP页面所有的对象及命名空间的访问。
pageContext对象能够存取其他隐含对象。
1.pageContext对象存取其他隐含对象属性的方法,此时需要指定范围的参数。
Object getAttribute(String name, int scope)
Enumeration getAttributeNamesInScope(int scope)
void removeAttribute(String name, int scope)
void setAttribute(String name, Object value, int scope)
范围参数有四个,分别代表四种范围:PAGE_SCOPE、REQUEST_SCOPE、SESSION_SCOPE、APPLICATION_SCOPE
2.PageContext对象取得其他隐含对象的方法
Exception getException( ) 回传目前网页的异常,不过此网页要为error page,
JspWriter getOut( ) 回传目前网页的输出流,例如:out
Object getPage( ) 回传目前网页的Servlet 实体(instance),例如:page
ServletRequest getRequest( ) 回传目前网页的请求,例如:request
ServletResponse getResponse( ) 回传目前网页的响应,例如:response
ServletConfig getServletConfig( ) 回传目前此网页的ServletConfig 对象,例如:config
ServletContext getServletContext( ) 回传目前此网页的执行环境(context),例如:application
HttpSession getSession( ) 回传和目前网页有联系的会话(session),例如:session
3.PageContext对象提供取得属性的方法
Object getAttribute(String name, int scope) 回传name 属性,范围为scope的属性对象,回传类型为Object
Enumeration getAttributeNamesInScope(int scope) 回传所有属性范围为scope 的属性名称,回传类型为Enumeration
int getAttributesScope(String name) 回传属性名称为name 的属性范围
void removeAttribute(String name) 移除属性名称为name 的属性对象
void removeAttribute(String name, int scope) 移除属性名称为name,范围为scope 的属性对象
void setAttribute(String name, Object value, int scope) 指定属性对象的名称为name、值为value、范围为scope
Object findAttribute(String name) 寻找