0

可能重复:
Java 将所有表数据添加到列表中

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

我将 Product 中的所有数据添加到数组列表中,如下所示

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

我如何使用这个打印我的jsp中的所有名称?

4

2 回答 2

4

您可以通过在控制器中说出以下语句来传递列表

List <Product> products = dao.search();
request.setAttribute("Products", products);

而且,在您的 JSP 中,您可以使用以下代码(我认为您知道如何在您的 JSP 页面上使用包含 JSTL 库)。

要使用 JSTL Core 库,您需要在 JSP 中添加以下行

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

然后可以显示遍历传递的列表来显示所有的产品。

<table>
   <tr>
     <th>Name</th>
     <th>Number</th>
     <th>Quantity</th>
   </tr>
 <c:forEach items="${Products}" var="product">
    <tr>
      <td><c:out value="${product.name}" /></td>
      <td><c:out value="${product.number}" /></td>
      <td><c:out value="${product.qty}" /></td>
    </tr>
  </c:forEach>
</table>

希望能帮助到你。

于 2012-10-28T13:29:33.640 回答
0

添加products适当的范围并转发到您的 jsp 页面:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
...
<table>
    <thead>
        <tr>
            <th>Name</th>
            <th>Number</th>
            <th>Quantity</th>
        </tr>
    </thead>
    <tbody>
        <c:forEach items="${products}" var="product">
            <tr>
                <td>${product.name}</td>
                <td>${product.number}</td>
                <td>${product.qty}</td>
            </tr>
        </c:forEach>
    </tbody>
</table>

顺便说一句,在这种情况下使用thead 和 tbody是有益的,因为:

这种划分使用户代理能够支持独立于表头和表脚的表体滚动。打印长表时,表头和表尾信息可能会在包含表数据的每一页上重复。

于 2012-10-28T13:34:19.287 回答