Как использовать заполнитель для имени класса контроллера в ViewReolver - PullRequest
0 голосов
/ 09 декабря 2011

Я хочу поставить имя контроллера (имя класса или имя компонента) в качестве имени dir, когда SpringMVC разрешает имя представления. Я определил префиксный параметр в UrlBasedViewResolver как /WEB-INF/admin/${controller}/, но он, конечно, не работает.

<bean id="viewResolver"
      class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <property name="prefix" value="/WEB-INF/admin/${controller}/"/>
    <property name="suffix" value=".jsp"/>
    <property name="viewClass" value="org.springframework.web.servlet.view.InternalResourceView"/>
</bean>

Очевидно, что это не работает, потому что UrlBasedViewResolver просто префикс простого присоединения к представлению для просмотра имени (например, view.setUrl(getPrefix() + viewName + getSuffix());).

Какой самый простой способ реализовать эту проблему?

Или какой самый простой способ получить имя контроллера в преобразователе для переопределенного метода buildView в подклассе UrlBasedViewResolver?

1 Ответ

1 голос
/ 09 декабря 2011

Вы можете попытаться создать HandlerInterceptor и изменить свойство имени представления ModelAndView в его методе postHandle() (он вызывается после выполнения контроллера, но перед рендерингом представления).Этот метод также получает экземпляр контроллера как handle.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...