1。
您的HTML中有一些错误:
<li><a href="${url_itemmarket}/${cmenu.itemName}">${cmenu.description}/a>/li> ^ ^ | | two errors here (mising < characters) -------------------------------- replace with this ----------------------------------------------------- | | v v<li><a href="${url_itemmarket}/${cmenu.itemName}">${cmenu.description}</a></li>
2。
您应该使用Map。
地图的键应该是不同的 类型 。
值应为 “ 食物对象 列表 ”。
然后,您可以在JSP中遍历地图的键。
您将需要一个嵌套循环来遍历每个列表中的食物。
我认为您的JSP / JSTL看起来像这样,但是未经测试:
<table> <tr><th>type</th><th>Item Name</th></tr> <!-- iterate over each key in the map --> <c:forEach var="foodMapEntry" items="${foodMap}"> <tr> <td>${foodMapEntry.key}</td> <td> <!-- iterate over each item in the list of foods --> <c:forEach var="food" items="${foodMapEntry.value}"> | ${food.name}<br/> </c:forEach> </td> </tr> </c:forEach></table>
这是一些代码,显示了如何构建上面使用的地图:
List<Food> foodList = new ArrayList<Food>();foodList.add(new Food("Banana", "fruit"));foodList.add(new Food("Apple", "fruit"));foodList.add(new Food("Onion", "vegetable"));foodList.add(new Food("Mushroom", "vegetable"));foodList.add(new Food("Chocolate", "candy"));foodList.add(new Food("Gummy Bears", "candy"));Map<String, List<Food>> foodMap = new HashMap<String, List<Food>>();for (Food f : foodList) { String foodType = f.getType(); if (foodMap.containsKey(foodType)) { foodMap.get(foodType).add(f); } else { List<Food> tempList = new ArrayList<Food>(); tempList.add(f); foodMap.put(foodType, tempList); }}
还有一个简单的Food类:
class Food { private String name; private String type; public Food(String n, String t) { name = n; type = t; } public String getName() { return name; } public String getType() { return type; }}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)