1、成为action类的三种方式
1)普通的JavaBean
2)实现Action接口(实现Action的以下静态属性,none,error,input,login,success)
3)继承ActionSupport(常用,本身实现了Action接口)
2、如何访问范围对象*(2种方式)
范围对象(scope objects)
request:HttpServletRequest
session:HttpSession
application :ServletContext
还有一个不是范围对象,但是很重要
response:HttpServletResponse
1)使用ServletActionContext
ServletActionContex提供以下静态方法
public static HttpServletRequest getRequest();
public static HttpServletResponsegetResponse();
public static ServletContextgetServletContext() ;
示例代码:
2)Aware接口
实现以下接口和它的方法,可以得到相应的范围对象
SessionAware setSession(Map map)
RequestAware
ApplicationAware
常这样得到:
3、如何访问请求参数
直接在Action类中定义页面属性
在Action中定义封装类对象
使用ModelDriven接口(常用)
1)普通的JavaBean
2)实现Action接口(实现Action的以下静态属性,none,error,input,login,success)
3)继承ActionSupport(常用,本身实现了Action接口)
2、如何访问范围对象*(2种方式)
范围对象(scope objects)
request:HttpServletRequest
session:HttpSession
application :ServletContext
还有一个不是范围对象,但是很重要
response:HttpServletResponse
1)使用ServletActionContext
ServletActionContex提供以下静态方法
public static HttpServletRequest getRequest();
public static HttpServletResponsegetResponse();
public static ServletContextgetServletContext() ;
示例代码:
/*
* 如果用到像HttpServletRequest这样的api
* 意味着一定要跟servlet容器绑定
* 也意味着测试的时候一定要去在web环境下才测试
*
* struts2希望我们的测试更方便,即不需要web环境也能测试
* 所以struts2封装了另一种形式的requeset,session,application
*
*/
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
HttpSession session = request.getSession();
ServletContext servletContext = ServletActionContext.getServletContext();
request.setAttribute("aaa", "123");
session.setAttribute("userName", userName);
servletContext.setAttribute("bbb", "456");
2)Aware接口
实现以下接口和它的方法,可以得到相应的范围对象
SessionAware setSession(Map map)
RequestAware
ApplicationAware
常这样得到:
Map applicationMap = ActionContext.getContext().getApplication();
Map sessionMap = ActionContext.getContext().getSession();
Map requestMap = (Map)ActionContext.getContext().get("request");
requestMap.put("aaa", "123");
sessionMap.put("userName", userName);
applicationMap.put("bbb", "456");
3、如何访问请求参数
直接在Action类中定义页面属性
在Action中定义封装类对象
使用ModelDriven接口(常用)
4、结果(result)
本文介绍了Struts2框架中的核心概念,包括成为Action类的三种方式、访问范围对象的方法、请求参数的处理及结果配置等内容,为初学者提供了详细的指导。

被折叠的 条评论
为什么被折叠?



