Spring MVC 3.0 с Apache Tiles - множество форм на одной странице - PullRequest
0 голосов
/ 20 июля 2011

Я использую Spring MVC (3.0) с плитками Apache в моем проекте.У меня есть несколько форм на одной странице, отображаемой с помощью плиток.

Форма входа и форма поиска являются общими для большинства страниц.«Тело» в определении плитки постоянно меняется.

Итак, как показано ниже, во всех моих контроллерах mvc я должен явно установить объект команды в соответствующей модели.1. model.put ("userBO", userBO);2. model.put ("searchBO", searchBO);

Есть ли способ, которым я могу переместить эту часть кода в общее место или глобальный контроллер, чтобы мне не пришлось писать этидве строки во всех контроллерах, которые я пишу?

1 Ответ

2 голосов
/ 14 мая 2012

Вы можете использовать перехватчик, чтобы сделать это в postHandle:

public class DefaultModelInterceptor extends HandlerInterceptorAdapter {

@Override
public void postHandle(final HttpServletRequest request, final HttpServletResponse response, final Object handler,
        final ModelAndView modelAndView) throws Exception {

    modelAndView.addObject("userBO", userBO);
    modelAndView.addObject("searchBO", searchBO);

    super.postHandle(request, response, handler, modelAndView);
    }
}

Это может быть подключено в вашей конфигурации сервлета пружины:

<mvc:interceptors>
    <bean class="my.package.DefaultModelInterceptor"/>
</mvc:interceptors>
...