关于mvc:拦截器,如何设置排除路径



我们知道,我们可以这样配置一个拦截器:

 <mvc:interceptor>
        <mvc:mapping path="/outfit/**" />
        <bean class="OpenSessionInViewInterceptor">
            <property name="sessionFactory">
                <ref bean="sessionFactory" />
            </property>
        </bean>

我的问题,如何配置排除路径?

从Spring 3.2开始,他们添加了这个特性。

请看Spring文档中的这个例子:

<mvc:interceptors>
<bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" />
<mvc:interceptor>
    <mapping path="/**"/>
    <exclude-mapping path="/admin/**"/>
    <bean class="org.springframework.web.servlet.theme.ThemeChangeInterceptor" />
</mvc:interceptor>
<mvc:interceptor>
    <mapping path="/secure/*"/>
    <bean class="org.example.SecurityInterceptor" />
</mvc:interceptor>

这是文档的链接

我不认为你可以声明。但是在拦截器中,您可以添加一个if(..)并验证是否应该排除请求uri。你可以在拦截器xml定义中将排除路径设置为列表属性。

为此,您必须扩展OSIV拦截器并添加自定义逻辑&排除列表属性。

最新更新