pageContext有个方法 setAttribute...
据说它是javax.servlet.jsp.PageContext类的实例对象
但是在PageContext中没发现这个方法
- Java code
package javax.servlet.jsp;import java.io.IOException;import javax.servlet.Servlet;import javax.servlet.ServletConfig;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpSession;import javax.servlet.jsp.tagext.BodyContent;public abstract class PageContext extends JspContext{ public static final int PAGE_SCOPE = 1; public static final int REQUEST_SCOPE = 2; public static final int SESSION_SCOPE = 3; public static final int APPLICATION_SCOPE = 4; public static final String PAGE = "javax.servlet.jsp.jspPage"; public static final String PAGECONTEXT = "javax.servlet.jsp.jspPageContext"; public static final String REQUEST = "javax.servlet.jsp.jspRequest"; public static final String RESPONSE = "javax.servlet.jsp.jspResponse"; public static final String CONFIG = "javax.servlet.jsp.jspConfig"; public static final String SESSION = "javax.servlet.jsp.jspSession"; public static final String OUT = "javax.servlet.jsp.jspOut"; public static final String APPLICATION = "javax.servlet.jsp.jspApplication"; public static final String EXCEPTION = "javax.servlet.jsp.jspException"; public abstract void initialize(Servlet paramServlet, ServletRequest paramServletRequest, ServletResponse paramServletResponse, String paramString, boolean paramBoolean1, int paramInt, boolean paramBoolean2) throws IOException, IllegalStateException, IllegalArgumentException; public abstract void release(); public abstract HttpSession getSession(); public abstract Object getPage(); public abstract ServletRequest getRequest(); public abstract ServletResponse getResponse(); public abstract Exception getException(); public abstract ServletConfig getServletConfig(); public abstract ServletContext getServletContext(); public abstract void forward(String paramString) throws ServletException, IOException; public abstract void include(String paramString) throws ServletException, IOException; public abstract void include(String paramString, boolean paramBoolean) throws ServletException, IOException; public abstract void handlePageException(Exception paramException) throws ServletException, IOException; public abstract void handlePageException(Throwable paramThrowable) throws ServletException, IOException; public BodyContent pushBody() { return null; } public ErrorData getErrorData() { return new ErrorData((Throwable)getRequest().getAttribute("javax.servlet.error.exception"), ((Integer)getRequest().getAttribute("javax.servlet.error.status_code")).intValue(), (String)getRequest().getAttribute("javax.servlet.error.request_uri"), (String)getRequest().getAttribute("javax.servlet.error.servlet_name")); }}
再看看它继承的JspContext 也没有 求解
- Java code
package javax.servlet.jsp;import java.io.Writer;import java.util.Enumeration;import javax.el.ELContext;import javax.servlet.jsp.el.ExpressionEvaluator;import javax.servlet.jsp.el.VariableResolver;public abstract class JspContext{ public abstract void setAttribute(String paramString, Object paramObject); public abstract void setAttribute(String paramString, Object paramObject, int paramInt); public abstract Object getAttribute(String paramString); public abstract Object getAttribute(String paramString, int paramInt); public abstract Object findAttribute(String paramString); public abstract void removeAttribute(String paramString); public abstract void removeAttribute(String paramString, int paramInt); public abstract int getAttributesScope(String paramString); public abstract Enumeration<String> getAttributeNamesInScope(int paramInt); public abstract JspWriter getOut(); /** @deprecated */ public abstract ExpressionEvaluator getExpressionEvaluator(); /** @deprecated */ public abstract VariableResolver getVariableResolver(); public abstract ELContext getELContext(); public JspWriter pushBody(Writer writer) { return null; } public JspWriter popBody() { return null; }}