2011-06-05 44 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