Возможно ли настроить перехватчики обработчиков без указания имени контроллера

#spring #spring-mvc

#spring #spring-mvc

Вопрос:

Я хочу, чтобы перехватчик вызывался для всех URL-адресов с шаблоном / user / display / * и не хочу настраивать имя контроллера, к которому привязаны эти 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:

Вы можете указать перехватчики независимо от контроллеров, используя <mvc:interceptors> , например

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

Смотрите документы для получения более подробной информации.

Комментарии:

1. о боже! Я пропустил это в документах. Это здорово! Спасибо skaffman