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コアライブラリを使用するには、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 に答える