2013-11-25 25 views
0

我想在Spring中使用jslt打印一個多級列表,如何編寫控制器和jsp?如何在Spring中打印多級列表

  • 新聞-CAT-1
    • 新聞ITEM1
    • 新聞ITEM2
    • 新聞項目3
  • 新聞-CAT-2
    • 新聞ITEM1
    • 新聞ITEM2
    • 個新聞項目3
  • 新聞-CAT-3
    • 新聞ITEM1
    • 新聞ITEM2
    • 新聞項目3

這裏是我的控制器代碼:

@RequestMapping(value = "/index.htm", method = RequestMethod.GET) 
public String loadHomePage(ModelMap map) { 

    List<NewsCategory> cat = newsService.getNewsCat(); 

    for(NewsCategory c : cat){ 
      List<News> list = newsService.getByCat(c.getId()); 

      map.put("list-" + c.getId(), list); // is this right? 
    } 

    map.put("newscat", cat); 

    // And how to print these in the jsp page? 

    return "index"; 
} 

謝謝!

回答

0
<c:forEach var="entry" items="${myMap}"> 
List name: <c:out value="${entry.key}"/> 
    <c:forEach items="${entry.value}" var="cat" varStatus="rowStatus"> 
       <c:forEach items="${cat.itemList}" var="item" varStatus="rowCount"> 
        <div>...<c:out value="${item.description}"/></div> 
       </c:forEach> 
     </c:forEach> 
</c:forEach> 
+0

在我的代碼中,ModelMap包含許多名爲list-1,list-3,list-4的新聞列表......這些是動態名稱,不僅是「$ {list-1}」。因爲我不知道c.getID()返回的值,所以我不知道屬性名稱以獲取jsp中的值。對不起我的英語不好。 – james87

+0

我編輯了答案。 –