2011-06-05 70 views
0

我编写了一个小型登录控制器。它有一个onSubmit方法来登录用户。如果登录成功,我想显示首页而不必重定向。首页需要来自其他模型的内容。因为我的LoginController已经has a LoginModel它不能也有InformationModelspring mvc:登录后不要重定向 - 需要两个模型?

有没有办法让InformationModel上的指针?或者拨打一些电话获得InformationControllerModelAndView?该控制器提供了一个handleRequest方法。

我认为这是一个更基本的问题,但如果您需要代码来回答它,我会提供它。

回答

2

我”,不敢肯定,如果我正确地得到您的问题,但

一个。)您可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; 
    } 
+0

frontPageView将被解析为frontPageView.jsp,但它会显示一个空白页面,因为它无法从InformationController访问InformationModel。我不知何故必须从LoginController.doSumbit方法调用InformationController.handleRequest。 InformationContoller为头版生成信息。理解我的意思? – 2011-06-05 16:34:50

+0

我认为这是要走的路。您需要调用InformationController的handleRequest,因为它可能是您的应用程序的唯一可以为您生成informationModel的部分。 – gouki 2011-06-05 16:42:08

+0

好吧,但我怎样才能让我的手指在InformationController上?一些服务器内部转发? – 2011-06-05 16:46:59