struts 2 的SessionAware接口使用
2016-02-18 11:43
344 查看
使用ActionContext获得session会带来单元测试不好作,所以使用SessionAware可以用通过的Map对象来注入session,这样在单元测试的时候只需要创建一个Map就可以了。这是一种比较推荐的做法
LogionAction.java文件如下:
package com.xujun.webwork.action;
import com.opensymphony.xwork.Action;
import com.opensymphony.webwork.interceptor.SessionAware;
import java.util.Map;
public class LoginAction implements Action,SessionAware{
private Map mySession;
public String execute() throws Exception
{
mySession.put("username", "xujunSessionAware");
return this.SUCCESS;
}
public void setSession(Map session) {
this.mySession = session;
}
}
xwork.xml配置如下,注意interceptor-ref 名称的大小写:
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN"
"http://www.opensymphony.com/xwork/xwork-1.0.dtd">
<xwork>
<include file="webwork-default.xml" />
<package name="default" extends="webwork-default">
<action name="login" class="com.xujun.webwork.action.LoginAction">
<result name="success" type="dispatcher">
<param name="location">/main.jsp</param>
</result>
<interceptor-ref name="completeStack"></interceptor-ref>
</action>
</package>
</xwork>
main.jsp文件如下:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="ww" uri="webwork"%>
<html>
<body>
<p align="center">Login Success!</p>
<p align="center">Welcome!
<ww:property value="#session['username']"/>
</p>
</body>
</html>
LogionAction.java文件如下:
package com.xujun.webwork.action;
import com.opensymphony.xwork.Action;
import com.opensymphony.webwork.interceptor.SessionAware;
import java.util.Map;
public class LoginAction implements Action,SessionAware{
private Map mySession;
public String execute() throws Exception
{
mySession.put("username", "xujunSessionAware");
return this.SUCCESS;
}
public void setSession(Map session) {
this.mySession = session;
}
}
xwork.xml配置如下,注意interceptor-ref 名称的大小写:
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN"
"http://www.opensymphony.com/xwork/xwork-1.0.dtd">
<xwork>
<include file="webwork-default.xml" />
<package name="default" extends="webwork-default">
<action name="login" class="com.xujun.webwork.action.LoginAction">
<result name="success" type="dispatcher">
<param name="location">/main.jsp</param>
</result>
<interceptor-ref name="completeStack"></interceptor-ref>
</action>
</package>
</xwork>
main.jsp文件如下:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="ww" uri="webwork"%>
<html>
<body>
<p align="center">Login Success!</p>
<p align="center">Welcome!
<ww:property value="#session['username']"/>
</p>
</body>
</html>
相关文章推荐
- spring整理学习
- Java类加载过程(2)
- 【持久层】java程序猿的JDBC知识点
- JAVA 字节流和字符流度读写的区别
- 使用Spring MVC HandlerExceptionResolver处理异常
- Java线程等待wait通知notify方法的使用
- 对Java Serializable(序列化)的理解
- 深入Java虚拟机(1)——Java体系结构
- 深入Java虚拟机(1)——Java体系结构
- 深入Java虚拟机(1)——Java体系结构
- java处理html空格变成问号问题
- 深入Java虚拟机(1)——Java体系结构
- jdk环境变量
- java产生六位数字验证码
- JAVA中类型转换
- struts2的总体回想(ACTION、拦截器、值栈、OGNL表达式、ModelDriven方案等)
- java多线程学习笔记
- JAVA字符串格式化-String.format()的使用
- eclipse下搭建Kotlin开发环境
- 从头认识Spring-2.7 自动检测Bean@Component @Repository @Service @Controller