2012-09-23 147 views
0

喜的觀點,我無法返回模型後,得到視圖頁面,查看下面是一些代碼塊無法從控制器Spring MVC中

List<GridMappingVO> searchList= gridMappingFacade.validate(gridMappingVO); 
if(users.equals(searchList.get(0).getUser()) 
    && passwrd.equals(searchList.get(0).getPass())) { 
    System.out.println("validation succesfull"); 
    mv = new ModelAndView("searchResults"); 
    logger.info("Response is: " + mv); 
    mv.addObject("searchList", searchList); 
} else { 
    List<String> list = new ArrayList<String>(); 
    list.add("Invalid"); 
    map.put("error_messages", list); 
    mv.addAllObjects(map); 
} 
return mv; 

堆棧跟蹤

08:51:31,713 INFO http-8080-1 controller.GridMappingController:45 - Response is: ModelAndView: reference to view with name 'searchResults'; model is null 

08:51:31,728 DEBUG http-8080-1 support.DefaultListableBeanFactory:1367 - Invoking afterPropertiesSet() on bean with name 'searchResults' 

任何人都可以幫我解決這個問題嗎?

+0

有什麼呢? –

回答

0

如果您的條件不滿意,它將轉到else塊。所以模型永遠不會被實例化。 聲明模型對象的實例外,如果塊

mv = new ModelAndView("searchResults"); 
    List<GridMappingVO> searchList= gridMappingFacade.validate(gridMappingVO); 
    if(users.equals(searchList.get(0).getUser()) 
    && passwrd.equals(searchList.get(0).getPass())) { 
    System.out.println("validation succesfull"); 
    logger.info("Response is: " + mv); 
    mv.addObject("searchList", searchList); 
} else { 
    List<String> list = new ArrayList<String>(); 
    list.add("Invalid"); 
    map.put("error_messages", list); 
    mv.addAllObjects(map); 
} 
return mv; 

你也能做到這樣, 在方法 像開始實例化一個HashMap:

Map model = new HashMap(); 

,並添加對象到模型。

model.put("searchList", searchList); 

在返回創建一個新的ModelAndView對象

return new ModelAndView("jsp/searchResults", model) 
+0

這也不起作用 –

+0

你是否得到相同的錯誤? – Rosh

+0

檢查在ModelAndView對象中傳遞的jsp路徑,它應該是web應用程序中的相同路徑。您還需要添加視圖解析器在調度員servlet – Rosh