【问题标题】:Printing List Object in JSP在 JSP 中打印列表对象
【发布时间】:2020-06-02 06:06:04
【问题描述】:

我正在接近打印从 Servlet 传递的 JSP 表中的对象,但是由于某种原因它们没有打印。

我已确认 servlet 确实将数据保存到列表中,但我尚未确认该列表是否已成功传递给 JSP,或者我是否在打印对象时出错。

这是我的 JSP 页面代码(listProduct 是从 Servlet 传递的列表):

<% List newList = (List)session.getAttribute("listProduct");%>

        <c:forEach  items="${listProduct}" var="Product">
            <tr>
                <td><c:out value="${Product.productId}" /></td>
                <td><c:out value="${product.productType}" /></td>
                <td><c:out value="${product.productPrice}" /></td>
                <td><c:out value="${product.vendorName}" /></td>
                <td><c:out value="${product.productName}" /></td>
                <td><c:out value="${product.productDescription}" /></td>
                <td><c:out value="${product.stockLevel}" /></td>
                <td><c:out value="action" /></td>
                <td>
                    <a href="/edit?id=<c:out value='${product.productId}' />">Edit</a>
                    &nbsp;&nbsp;&nbsp;&nbsp;
                    <a href="/delete?id=<c:out value='${product.prodictId}' />">Delete</a>                     
                </td>
            </tr>
        </c:forEach>

我在 JSP 中的“newList”也未使用,但其他教程中有,即使我尝试将 newList 用于未注册的表,它仍然说 newList 未使用。

任何指点或帮助将不胜感激。

编辑:更多信息(Servlet 代码)

我已经包含了创建列表并将其发送到 jsp 页面的 servlet 代码 - 以防问题出在此处。

    List<Product> listProduct = db.listProducts();

            request.setAttribute("listProduct", listProduct);
            RequestDispatcher requestDispatcher = request.getRequestDispatcher("displayProduct.jsp");
            requestDispatcher.forward(request, response);

**db 是 DAO。 编辑 2 DAO 代码:此代码向 servlet 提供数组列表。

 public List<Product> listProducts() throws SQLException {
        List<Product> listProduct = new ArrayList<>();

        String sql = "SELECT * FROM PRODUCT";

        ResultSet rs = st.executeQuery(sql);

        while (rs.next()) {
            int productId = rs.getInt("productId");
            double productPrice = rs.getDouble("PRODUCTPRICE");
            String productType = rs.getString("productType");
            String vendorName = rs.getString("vendorName");
            String productName = rs.getString("productName");
            String productDescription = rs.getString("productDescription");
            int stockLevel = rs.getInt("stockLevel");

            Product product = new Product(productId, productPrice, productType, vendorName, productName, productDescription, stockLevel);
            listProduct.add(product);

        }

        return listProduct;

另一个编辑!! : 我确认问题在于 JSP 表部分中的编码,因为 arraylist 已成功发送到 JSP 页面 - 但现在唯一的问题是根据属性在表中打印它。

【问题讨论】:

    标签: java jsp jstl


    【解决方案1】:
     <td>${Product.getProductId()}</td>
    

    只需在没有 c:out 的情况下使用它。 有时你写的是产品而不是产品

    【讨论】:

    • 您确定您的 List 包含一些元素吗?我尝试使用 ArrayList。 List 返回什么 db.listProducts();
    • 我相信是这样,我附上了来自 DAO 的代码,它制作了原始数组列表。感谢您的帮助顺便说一句
    猜你喜欢
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    • 2021-05-24
    • 2019-04-26
    • 2012-11-08
    • 2017-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多