2012-05-15 61 views
0
I have to return values from two modelandview methods to a single jsp `mySoftwarelist.jsp` where i have two tables. Here i have two seperate methods for returning array list 

    ModelAndView getLegacySuiteList() 
    ModelAndView getSuiteList() 

i returned the arraylist `mySoftwareList`,`mySoftwareLegacyList` to the same view `swl_mySoftwareList` as 

public ModelAndView getSuiteList(HttpServletRequest request, HttpServletResponse response) throws Exception 
{ 
ArrayList mySoftwareList = new ArrayList();  
try{ 
MySoftwareListHelper mySoftwareListHelper = new MySoftwareListHelper(); 
userEmailAddr =user.getEmailaddress();  
mySoftwareList = mySoftwareListHelper.getSuites(userEmailAddr); 

} 
catch(Exception e) { 
e.printStackTrace(); 
} 
ModelAndView mnv = new ModelAndView("swl_mySoftwareList","mySoftwareList",mySoftwareList); 
return mnv; 

} 

public ModelAndView getLegacySuiteList(HttpServletRequest request, HttpServletResponse response) throws Exception 
{  
ArrayList mySoftwareLegacyList = new ArrayList();  
try{ 
MySoftwareListHelper mySoftwareListHelper = new MySoftwareListHelper(); 
userEmailAddr =user.getEmailaddress(); 
mySoftwareLegacyList = mySoftwareListHelper.getLegacySuites(userEmailAddr); 
}catch(Exception e){ 
e.printStackTrace(); 
} 

ModelAndView mnv = new ModelAndView(「swl_mySoftwareList」,「mySoftwareLegacyList」,mySoftwareLegacyList); return mnv;如何從單個視圖中的兩個模型中獲取值

}

,但其只返回模型mySoftwareList。 我希望來自這兩個arraylist的數據在相同的jsp上使用。

+0

請向我們展示實際的方法,而不僅僅是個別的代碼行。 – skaffman

+0

@skaffman嗨我已經添加了確切的方法 – anto

回答

2

在返回視圖之前,您需要在同一個mnv對象中單獨添加列表。

ModelAndView mnv = new ModelAndView("swl_mySoftwareList","mySoftwareList",mySoftwareList); 
mnv.addObject("mySoftwareLegacyList",mySoftwareLegacyList); 

return mnv; 

希望這會有所幫助。

乾杯。

+0

謝謝@日本Trivedi ...但對我來說對象是在不同的方法 – anto

+0

嗨請參考上面編輯的格式,我已經添加了方法。 – anto

+0

好吧,現在我得到了你的問題。 由於您每次都在重新調整一個新的ModelAndView對象,因此以前添加的對象將不會包含在另一個請求中新創建的mnv對象中。所以你需要爲整個控制器制定一個通用映射,並且每次添加所需的對象。 –

0

我認爲最好的做法是使用DTO對象,它從兩個實體中獲取所需的屬性,然後將該DTO對象傳遞給視圖。

相關問題