原理
ActionContext相当于一个数据中心,本身是一个Map。其中存储着各种servlet的对象的引用,比如request,session,application等。因为一次访问action,创建一个ActionContext对象,那么如何保证ActionContext每次访问都可以获得对象?
ActionContext对象与ThreadLocal绑定.
实际上session等对象就是一个Map集合。
代码
public String testApiAction(){
ActionContext context = ActionContext.getContext();
Map<String, Object> session = context.getSession();
session.put("name", "jose");
context.put("age", 12);
return SUCCESS;
}
Snip20170811_3.png
![Uploading Snip20170811_5_600089.png . . .]
SESSION就是一个map中的key
Snip20170811_5.png
得到request对象
request一次请求,ActionContext也是一次请求,因此两者类似,就可以把ActionContext看成request对象。
Snip20170811_6.png