是否可以在不给出控制器名称的情况下配置处理程序拦截器

时间:2011-11-11 14:58:40

标签: spring spring-mvc

我希望使用pattern / user / display / *为所有url调用拦截器,并且不希望配置这些url映射到的控制器名称。

Spring文档提供了以下示例

<bean id="handlerMapping"
          class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="interceptors">
            <list>
                <ref bean="officeHoursInterceptor"/>
            </list>
        </property>
        <property name="mappings">
            <value>
                 /user/display/*=editAccountFormController
            </value>
        </property>
    </bean>

在我的情况下,我不想给editAccountFormController。 有可能吗?

1 个答案:

答案 0 :(得分:4)

您可以使用<mvc:interceptors>独立于控制器指定拦截器,例如

<mvc:interceptors>
    <mvc:interceptor>
        <mapping path="/user/display/*"/>
        <bean class="com.x.y.MyInterceptor" />
    </mvc:interceptor>
</mvc:interceptors>

有关详细信息,请参阅docs