无法使用JSTL迭代对象的ArrayList

时间:2015-12-11 21:13:32

标签: java jsp jstl

我有一个对象的ArrayList,我从跟随class file实例化。我在这里叫豆子;

<jsp:useBean id="myCart" class="beans.ShoppingCart"></jsp:useBean> 

我试图像使用JSTL那样迭代它们;

    <c:forEach items="${beans.ShoppingCart.cartItems}" var="tr">
            <tr>
                <td>${tr.ID}</td
                <td>${tr.Description}</td>
                <td>${tr.Category}</td>
                <td>${tr.Price}</td>
                <td>${tr.Name}</td>
            </tr>
    </c:forEach>

但页面上没有任何内容。迭代这些对象的正确语法是什么?这是带有TableRow对象的class file。我知道数组列表正在填充,因为Netbeans调试器在数组列表中显示了TableRows及其属性。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

<jsp:useBean id="myCart" class="beans.ShoppingCart">创建ShoppingCart类的新实例,并将其分配给变量myCart。它是JSP的等价物:

ShoppingCart myCart = new ShoppingCart();

请注意,购物车是空的,因为您从不致电setCartItems()

要迭代购物车商品列表,请执行以下操作:

<c:forEach var="item" items="${myCart.cartItems}">
    <tr>
        <td>${item.ID}</td>
        <td>${item.Description}</td>
        <td>${item.Category}</td>
        <td>${item.Price}</td>
        <td>${item.Name}</td>
    </tr>
</c:forEach>