0
我将下列代码用于“Item”对象列表。无法访问JSTL中的列表
@RequestMapping(value="/garageHome", method=RequestMethod.POST)
public ModelAndView displayFilteredItems(@ModelAttribute("command") GarageHomeViewModel model){
//PERFORM SEARCH AND RETURN
logger.info("Search submitted: " + model.getSearchFilters().getAllTypes());
List<Item> list = itemService.findItems(model.getSearchFilters());
logger.info("Num results: " + list.size());
model.setItems(list);
return new ModelAndView("/garageHome", "command", model);
}
而下面的代码通过它在JSTL迭代...
<c:forEach var="item" items="${items}" varStatus="status">
<c:choose>
<c:when test="${status.count % 4 == 0 && status.count >= 4}">
</tr>
<tr>
</c:when>
</c:choose>
<th>
<div>
<a href="<c:url value="/productDetails.do?id=${item.getID()}" />"><img class="hotDealImages" src="${item.getImageLink()}" /></a>
</div>
<div class="hotDealsText">"${item.getDescr()}"</div>
<div class="hotDealsText">Bid</div>
<div class="hotDealsText">Location</div>
</th>
</c:forEach>
但没有被打印出来。
我尝试以下代码以打印出列表中的元素的数量和打印0
<th>Hot Deals ${fn:length($items)}</th>
但是,在控制台线路logger.info("Num results: " + list.size());
打印“2”。
为什么我在JSTL中获取列表中的元素数为0?和我的forEach循环有什么可能是错误的?
任何指导将不胜感激。我对Spring MVC 3很陌生。
在forEach循环中,必须明确提及bean名称“command”。 即items =“$ {command.items}” –