Action里是否包含实例变量不重要,重要的是包含setter和getter方法。
Action可用于封装请求参数和处理结果。jsp中使用struts2输出:<s:property value="tip"/>
ActionSupport类是Struts2的默认Action处理类
Action访问ServletAPI
ActionContext类
Object get(Object key) 类似于调用HttpServletRequest的getAttribute(str)方法
Map getApplication() 模拟了该应用的ServletContext实例
static ActionContext getContext() 系统ActionContext实例
Map getParameters() 类似于调用HttpServletRequest的getParameterMap()方法
Map getSession 模拟HttpSession实例
void setApplication(Map appilcation) 键值对设置application里属性的值
void setSession(Map session) 键值对设置session里属性的值
通过实现接口直接访问ServletAPI
接口
ServletContextAware 实现可获得ServletContext实例
ServletRequestAware 实现可获得ServletRequestAware实例
ServletResponseAware 实现可获得ServletResponseAware实例
注意:即使在Struts2的Action类中获得了HttpServletResponse对象,也不要尝试直接在Action中对客户端生成响 应。(在Action类里写response.getWriter().println("xx")没用)
使用ServletActionContext访问ServletAPI
static PageContext getPageContext()
static HttpServletRequest getRequest()
static HttpServletResponse() getResponse()
static ServletContext getServletContext()