日期:2014-05-17  浏览次数:20859 次

拦截器如何注入dao层
用得是SSH2框架

XML code

 <interceptors>
        
            <interceptor-stack name="myStack">
                <interceptor-ref name="defaultStack">
                </interceptor-ref>
                <interceptor-ref name="loginInterceptor">
                </interceptor-ref>
            </interceptor-stack>
            <interceptor name="loginInterceptor"
             class="com.gge.ulicss.interceptor.AuthorizationInterceptor">  
            </interceptor>
             
        </interceptors>
        
        <default-interceptor-ref name="myStack"/>



在applicationContext.xml中 action 可以 
<bean id="userManagment"class="com.gge.ulicss.action.user.UserManagmentAction">
<property name="userService" ref="userService"></property>
<property name="concentratorService" ref="concentratorService"></property>
</bean>
注入所需的dao层或Service层

但interceptors 应该怎么配置???



------解决方案--------------------
这个是Struts2的interceptor
只能拦截Action
------解决方案--------------------


struts2 的拦截器是拦截action的,至于你要注入dao层不懂lz想干些什么呢
------解决方案--------------------
你的意思是想要在interceptors
使用dao的逻辑?
并且是spring创建的bean

你可以自己实现一个holder类 实现ApplicationContextAware接口

在spring中注册该holer

spring就回把application注入到你的holder当中

你可以自己在holder中 封装一个静态方法获得bean

因此你在interceptors就可以通过自己的holder获得spring中的dao来实现你的逻辑