+--------+-------+-----+
|  Name  |number |qty  |
+--------+-------+-----+
|   ab   |   5   |  7  |
+--------+-------+-----+
|   cd   |   1   |  6  |
+--------+-------+-----+
|   ef   |   0   |  9  |
+--------+-------+-----+
|   gh   |   8   |  2  |
+--------+-------+-----+


我正在显示此示例产品表。我需要在不使用结果集的情况下将所有表的日期合并到一个jsp中。我尝试完成这一部分:

public Product search(){
    Product p = null;
    ResultSet rs = DAO.fetch("SELECT * FROM Products");
    if (rs.next()) {
        p = new Product();
        p.setNumber(rs.getString("ProductNumber"));
        p.setName(rs.getString("ProductName"));
        p.setQty(rs.getString("ProductQty"));

    }
    return p;
}


我需要将所有表数据添加到列表中?并使用方法将其退回我该怎么办?

最佳答案

使您的search()方法返回一个List<Product>而不是单个Product

public List<Product> search(){
    List<Product> products = new ArrayList<Product>();
    ResultSet rs = DAO.fetch("SELECT * FROM Products");
    while (rs.next()) {
        Product product = new Product();
        product.setNumber(rs.getString("ProductNumber"));
        product.setName(rs.getString("ProductName"));
        product.setQty(rs.getString("ProductQty"));
        products.add(product);
    }
    return products;
}


然后,在您的JSP文件中,迭代返回的列表:

<c:forEach var="product" items="${products}">
    <!-- build your row -->
</c:forEach>

10-04 14:57