struts2拦截器
来源:互联网 发布:数据魔方关键词 编辑:程序博客网 时间:2024/06/14 22:00
本文的拦截器部分是好的,但是session部分不对,这里有两个对的:
http://blog.csdn.net/weiyanghuadi/article/details/8931820
http://blog.csdn.net/weiyanghuadi/article/details/9050245
本文把拦截器和sessionAware写在一起了,本来觉得DummyAction类简单,让它实现了一个sessionAware借口,想看看struts2中的session,
无奈太简单了,以至于框架总是无法生成session对象。框架不给注入,我只好自己new一个Map,当然不起作用!
如果没有客户端请求,这里指提交表单,表单中的文本域要对应action中的属性,那么struts2控制器就不会产生Map对象.我按这个思路改,还是空空空!I am really breaking my head to get session object in my action class。When I get the session map using sessionaware interface, I get an empty map.
我是想:通过actionInvocation.getInvocationContext().getSession();获得struts2的session
package org.arpit.javapostsForLearning;import java.util.HashMap;import java.util.Map;import javax.servlet.http.*;import org.apache.struts2.ServletActionContext;import org.apache.struts2.interceptor.SessionAware;import com.opensymphony.xwork2.ActionSupport;public class DummyAction extends ActionSupport implements SessionAware {private Map session2;private String justForHavingMapObject; public String execute() { System.out.println(" In Action"); System.out.println(getJustForHavingMapObject()); //如果下面直接用session.put,则有null exception //setSession(Map session); //this.session.put("kankan","liusir"); NiMaNull(); return SUCCESS; } //public Map getSession(){ //session=actionInvocation.getInvocationContext().getSession(); //return session; // } public void NiMaNull(){ //session.get("kanak"); //session.put("kankan","liusir"); System.out.println(getJustForHavingMapObject()); session2=new HashMap(); session2.put("kankan","liusir"); } public void setSession(Map session3) {this.session2 = session3;//System.out.println(this.session.get("JSESSIONID"));System.out.println("who use setSession");}public String getJustForHavingMapObject() {return justForHavingMapObject;}public void setJustForHavingMapObject(String justForHavingMapObject) {System.out.println("inside setJustFor");this.justForHavingMapObject = justForHavingMapObject;}}
package org.arpit.javapostsForLearning;import java.util.Map;import com.opensymphony.xwork2.ActionInvocation;import com.opensymphony.xwork2.interceptor.Interceptor;public class FirstInterceptor implements Interceptor {@Overridepublic void destroy() {}@Overridepublic void init() {}@Overridepublic String intercept(ActionInvocation actionInvocation) throws Exception {String startInterceptor = " Start Interceptor 1";System.out.println(startInterceptor);/* * Map session = actionInvocation.getInvocationContext().getSession(); * String temp=(String)session.get("kankan"); System.out.println(temp); */String result = actionInvocation.invoke();Map session = actionInvocation.getInvocationContext().getSession();if (session == null) {System.out.println("no fucking session");} else {System.out.println("yes session");}String temp = (String) session.get("kankan");System.out.println(temp);String endInterceptor = " End Interceptor 1";System.out.println(endInterceptor);return result;}}
<body><s:form action="Dummy"><s:textfield name="justForHavingMapObject"label="justForHavingMapObject" /><s:submit value="For calling Dummy Action" align="center" /></s:form></body>
<package name="default" extends="struts-default" namespace="/"> <interceptors> <interceptor name="firstInterceptor" class="org.arpit.javapostsForLearning.FirstInterceptor" /> <interceptor name="secondInterceptor" class="org.arpit.javapostsForLearning.SecondInterceptor" /> </interceptors> <action name="Dummy" class="org.arpit.javapostsForLearning.DummyAction"> <interceptor-ref name="firstInterceptor"/> <interceptor-ref name="secondInterceptor"/> <result name="success">Welcome.jsp</result> <result name="input">login.jsp</result> </action> </package>
原文:http://javapostsforlearning.blogspot.com/2012/07/struts-2-interceptors-with-example.html
源代码:http://pan.baidu.com/share/link?shareid=3673532014&uk=3878681452
- 【Struts2】Struts2中拦截器
- struts2拦截器
- Struts2拦截器
- struts2.0拦截器
- struts2.0 拦截器
- struts2拦截器学习
- struts2 拦截器
- Struts2拦截器(Interceptor)
- struts2.0拦截器
- 用上struts2拦截器
- struts2拦截器简介
- Struts2:拦截器概述
- Struts2拦截器(Interceptor)
- struts2 拦截器
- 关于struts2拦截器
- Struts2的拦截器
- struts2拦截器
- Struts2拦截器总结
- Android string.xml 显示特殊符号
- ObjectiveC网络
- TexturePacker打包成的 plist文件的使用
- Weblogic10与Jolt结合使用
- 使用JScript设置SVN客户端hook
- struts2拦截器
- Spring学习--面向抽象编程(模拟Spring的简单实现)
- linux下的join命令使用方法
- 插入排序
- Go语言并发之美:解释其中内核、外延
- iPhone上关于相机拍照的图片的imageOrientation的问题
- 某社区新旧版首页改造前后可用性与PET分析
- C语言--C99对int[n][m]的支持
- 关于Win 8 应用商店不能联网的几个解决方案