s2 访问session的两种方式
来源:互联网 发布:网络仿真技术 编辑:程序博客网 时间:2024/06/01 09:48
Struts2 的Action中若希望访问Session对象,可采用两种方式:
1、从ActionContext中获取;
2、实现SessionAware接口。
(1)从ActionContext中获取:
import java.util.Map; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; public class SessionTestAction extends ActionSupport { public String execute() { ActionContext actionContext = ActionContext.getContext(); Map session = actionContext.getSession(); session.put("USER_NAME", "Test User"); return SUCCESS; } }
(2)实现SessionAware接口:
import java.util.Map; import org.apache.struts2.interceptor.SessionAware; import com.opensymphony.xwork2.ActionSupport; public class SessionTest1Action extends ActionSupport implements SessionAware { private Map session; public void setSession(Map session) { this.session = session; } public String execute() { this.session.put("USER_NAME", "Test User 1"); return SUCCESS; } }
进一步阅读Struts2.1.8.1源码,SessionAware接口的实现方式如下:
struts-default.xml配置:
<interceptors> … <interceptor name="servletConfig" class="org.apache.struts2.interceptor.ServletConfigInterceptor"/> …</interceptors><interceptor-stack name="defaultStack"> … <interceptor-ref name="servletConfig"/> …</interceptor-stack>
打开ServletConfigInterceptor.java源码:
public String intercept(ActionInvocation invocation) throws Exception { final Object action = invocation.getAction(); final ActionContext context = invocation.getInvocationContext(); … if (action instanceof SessionAware) { ((SessionAware) action)。setSession(context.getSession()); } … return invocation.invoke(); }
即在拦截器处理过程中发现目标Action实现了SessionAware接口,便会调用Action中已经实现的setSession(…) 方法,将ActionContext中包装的Session注入目标Action中。目标Action也就可以进一步对Session进行操作了。
- s2 访问session的两种方式
- Struts2访问session的两种方法
- Struts2访问session的两种方法
- Struts2访问session的两种方法
- struts2访问session的两种方法
- session的两种实现方式
- Session的两种实现方式
- session的两种实现方式
- hibernate获取session的两种方式
- Request获取Session的两种方式
- hibernate 获得session的两种方式
- hibernate获取session的两种方式
- java访问后台的两种方式
- Hadoop文件系统访问的两种方式
- 手机访问网络资源的两种方式
- hadoop访问hdfs 的两种方式
- HTTP访问的两种方式
- HTTP访问的两种方式
- android 各种颜色定义
- 手动更改eclipse的默认工作目录workspace .
- 递归删除文件或文件夹
- 程序员:伤不起的三十岁
- spring依赖注入的实现原理
- s2 访问session的两种方式
- 写一点关于hough forest的
- 康托展开(用于全排列与整数的转换)
- XSLT的Replace函数
- ubuntu find方法
- TA游戏推荐:精选iOS游戏大作 智器X7玩酷无压力
- mysql中文乱码
- Linux 查看CPU信息、机器型号等硬件信息
- C语言fclose函数了解