SSH中的struts2拦截器是不是当action用ioc的形式注入以后 每次请求就不被调用了?
SSH中的struts2拦截器是不是当action用ioc的形式注入以后每次请求就不被调用了?在服务器开启时候所有拦截器的init方法都被正常调用了但是intercept...
SSH中的struts2拦截器是不是当action用ioc的形式注入以后 每次请求就不被调用了?
在服务器开启时候 所有拦截器的init方法都被正常调用了
但是intercept方法在请求后没有执行,我在intercept方法中加入了输出语句,并且没有限制拦截范围,也就是所有请求都被拦截。可是所有的请求intercept中的语句也没有在控制台输出
我的struts配置如下:
<interceptors>
<interceptor name="checkLogged"
class="com.interceptor.LoggedInterceptor" />
<interceptor-stack name="interceptor">
<interceptor-ref name="checkLogged" />
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="interceptor"/>
<action name="login" class="loginAction">
<result name="input">/index.jsp</result>
<result name="loginPage">/jsp/web/main/main_page.jsp</result>
</action>
这里是spring的bean配置:
<bean id="loginAction" class="com.login.LoginAction">
<property name="dao" ref="dao" />
</bean>
问题已经解决了
原因是struts里面使用include引用其他文件
而action写在其他文件中
这种情况下 如果被引用文件需要使用父级struts配置文件中的配置
需要将package的extends设置为父级package的name 展开
在服务器开启时候 所有拦截器的init方法都被正常调用了
但是intercept方法在请求后没有执行,我在intercept方法中加入了输出语句,并且没有限制拦截范围,也就是所有请求都被拦截。可是所有的请求intercept中的语句也没有在控制台输出
我的struts配置如下:
<interceptors>
<interceptor name="checkLogged"
class="com.interceptor.LoggedInterceptor" />
<interceptor-stack name="interceptor">
<interceptor-ref name="checkLogged" />
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="interceptor"/>
<action name="login" class="loginAction">
<result name="input">/index.jsp</result>
<result name="loginPage">/jsp/web/main/main_page.jsp</result>
</action>
这里是spring的bean配置:
<bean id="loginAction" class="com.login.LoginAction">
<property name="dao" ref="dao" />
</bean>
问题已经解决了
原因是struts里面使用include引用其他文件
而action写在其他文件中
这种情况下 如果被引用文件需要使用父级struts配置文件中的配置
需要将package的extends设置为父级package的name 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询