关于struts2中ActionContext类的作用有三个:
1.获取三大作用域对象及页面参数
2.是struts标签的上下文对象
3.ThreadLocal内装的就是ActionContext
怎么使用ActionContext类:获取作用域对象时使用 标签默认使用 线程安全底层默认使用
具体案例:
import com.opensymphony.xwork2.ActionContext;
public class FirstAction {
private String name;
public String execute(){
String str = "aaa";//一般放入request作用域的对象,直接定义成属性
String str2 = "bbb";
String str3 = "ccc";
ActionContext ac = ActionContext.getContext();
Map<String, Object> request=(Map<String, Object>) ac.get("request");//得到request作用域
Map<String, Object> session=(Map<String, Object>) ac.getSession();//得到HttpSession作用域
Map<String, Object> application=(Map<String, Object>) ac.getApplication();//得到application作用域
session.put("str2",str2);
request.put("str", str);
application.put("str3", str3);
Map<String, Object> paramMap= ac.getParameters();//得到从页面传过来的所有参数,这里的object其实就是一个数组
for(String key:paramMap.keySet()){
String[] arrays = (String[]) paramMap.get(key);
System.out.println(key+":"+Arrays.toString(arrays));
}
return "success";
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}