Spring MVC: не перенаправлять после входа в систему - нужны две модели? - PullRequest
0 голосов
/ 05 июня 2011

Я кодировал крошечный контроллер входа в систему.У него есть метод onSubmit, который входит в систему пользователя.Если вход выполнен успешно, я хочу показать первую страницу без необходимости перенаправления.Главная страница нуждается в содержании какой-то другой модели.Поскольку мой LoginController уже has a LoginModel, он также не может иметь InformationModel.

. Есть ли способ получить указатель на InformationModel?Или какой-нибудь звонок, чтобы получить ModelAndView из InformationController?Этот контроллер предоставляет метод handleRequest.

Я думаю, что это более фундаментальный вопрос, но если вам нужен код, чтобы ответить на него, я предоставлю его.

1 Ответ

2 голосов
/ 05 июня 2011

Я не уверен, правильно ли я понял ваш вопрос, но

a.) Вы можете добавить несколько моделей в свой объект ModelAndView. Использование:

 modelAndView.addObject("informationModel", informationModelObject);

b.) При успешном входе в систему установите вид для вашей главной страницы:

 modelAndView.setView("frontPageView");

Чтобы получить доступ к вашему InformationController через LoginController, вы можете подключить его автоматически =)

@Autowired
InformationController informationController;

    @RequestMapping( ... ) // assuming you define it here
    public ModelAndView onSubmit(... ) {
      // .. code here

      if (loginsuccess) {
          InformationModel informationModelObject = informationController.handleRequest(...);
           modelAndView.addObject("informationModel", informationModelObject);
          modelAndView.setView("frontPageView");
      }
      else {
         modelAndView.setView("loginFailView");
      }

      return modelAndView;
    }
...