Action使用ActionContext访问Servlet API

来源:互联网 发布:秋瑾 知乎 编辑:程序博客网 时间:2024/05/20 22:01
ActionContext是Action执行时的上下文,其中保存的是Action执行时用到的对象,如请求的参数,servlet的上下文,会话和本地化的一些信息,开发人员可以通过使用ActionContext的静态方法getContext()来获取当前的ActionContext对象。ActionContext是线程安全的,即在同一个线程里,ActionContext里的属性是唯一的,这样Action就可以在多线程中使用。
举例子
ActionContext context = ActionContext.getContext();
context.getSession().put("sessionMessage",message);
等同于
ActionContext context = ActionContext.getContext();
Map session = context.getSession();
session.put("sessionMessage",message);
取得的session是Map类型的对象的原因的解析:
这是因为Struts2框架将和Web相关的很多对象重新进行了包装,这样Action就不用直接和底层的HttpSession打交道,实现了Action和Servlet API 的解耦
1 0