spring与struts2整合的问题,纠结了2天了,请高手解答 本帖最后由 binavid 于 2011-06-05 18:52:15 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 struts2中的拦截器非常重要的组成部分.struts2默认实现了很多的拦截器..LZ你的参数自动赋值便是struts2自带拦截器定义的..如果要自定义拦截器又想使用struts2自带的拦截器.就必须在配置文件中把自定义的拦截器和自带的拦截器打成一个包; <interceptors> <interceptor name="hibernateThreadFilter" class="jkb.filters.HibernateThreadInterceptor"></interceptor> <interceptor-stack name="myInterceptorStack"> <interceptor-ref name="hibernateThreadFilter"/> <interceptor-ref name="defaultStack"/> </interceptor-stack> </interceptors>LZ这段代码就是打包的过程.这里建议把 <interceptor-ref name="defaultStack"/>放于<interceptor-ref name="hibernateThreadFilter"/>的前面让action在加载的时候默认先加载struts2的默认的拦截器(也就是参数的封装等一系列操作)另外LZ在action中的配置错误 <action name="login" class="loginAction"> <interceptor-ref name="hibernateThreadFilter" /> <result>/index.jsp</result> <result name="login">/login.jsp</result> </action> <interceptor-ref name="hibernateThreadFilter" />便是LZ配置的错误..需改成 <interceptor-ref name="myInterceptorStack" />应该就可解决问题..框架学的半生不熟就用很是痛苦..慢慢熬吧 拦截器配置的话如果不配置Struts会给一个默认配置 如果给一个自定义配置的话就会引用自定义的配置但不会引用Struts默认的拦截器配置 struts 如果没有默认拦截器的话就不会进行值的封装 所有楼主在定义拦截器的时候,在配置后自定义的拦截器后加上<interceptor-ref name="defaultStack"/>即可 一楼的方法不错 java代码怎么实现将html上的文章内容添加至chm文档中,急求!!! struts1 自定义配置文件的加载 问一个英文术语啥意思? servlet重启 还是乱码问题~~~ servlet可以通过url传参数吗? 通过jdbc读取5万条数据就不能成功了,有什么好的办法的。 关于JavaMail的问题 怎么通过按钮事件写和读端口数据啊,我写了read.java和write.java,大家帮我看看呢。 怎样实现购物车系统? 关于404错误,这是让人纠结一天的事情 求助!!ajax跳转到servlet问题。。。
struts2默认实现了很多的拦截器..
LZ你的参数自动赋值便是struts2自带拦截器定义的..
如果要自定义拦截器又想使用struts2自带的拦截器.就必须在配置文件中把自定义的拦截器和自带的拦截器打成一个包;
<interceptors>
<interceptor name="hibernateThreadFilter" class="jkb.filters.HibernateThreadInterceptor"></interceptor>
<interceptor-stack name="myInterceptorStack">
<interceptor-ref name="hibernateThreadFilter"/>
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
LZ这段代码就是打包的过程.这里建议把 <interceptor-ref name="defaultStack"/>
放于<interceptor-ref name="hibernateThreadFilter"/>的前面让action在加载的时候默认先加载struts2的默认的拦截器(也就是参数的封装等一系列操作)
另外LZ在action中的配置错误
<action name="login" class="loginAction">
<interceptor-ref name="hibernateThreadFilter" />
<result>/index.jsp</result>
<result name="login">/login.jsp</result>
</action>
<interceptor-ref name="hibernateThreadFilter" />便是LZ配置的错误..需改成 <interceptor-ref name="myInterceptorStack" />
应该就可解决问题..
框架学的半生不熟就用很是痛苦..慢慢熬吧
但不会引用Struts默认的拦截器配置 struts 如果没有默认拦截器的话就不会进行值的封装 所有楼主在定义拦截器的时候,在配置后自定义的拦截器后加上<interceptor-ref name="defaultStack"/>即可 一楼的方法不错