0

「アイテム」オブジェクトのリストに次のコードを使用します。

    @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が初めてです。

4

1 に答える 1

1

${item.getDescr()}JSP では、 butを呼び出すべきではありません${item.descr}getDescr()これにより、アイテムのクラスのメソッドが呼び出されます。

于 2012-08-25T12:58:20.780 に答える