コンテンツにスキップ

第2章 一覧

1 サーブレット

doGet内で商品データのリストを取得します。

ShouhinDAO dao = new ShouhinDAO();
List<Shouhin> list = dao.findAll();

listをJSPに渡します。名前は list とします。

request.setAttribute("list", list);

これをjspで表示します。

RequestDispatcher rd = request.getRequestDispatcher("WEB-INF/jsp/slist.jsp");
rd.forward(request, response);

2 jsp

次にjspを作成します。このとき、JSTLを利用し、繰り返しを行います。 まず、ファイルの先頭(DOCTYPEの前の行)にtaglibを忘れずに入れます。

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

そして、listから一つずつデータを取り出します。このときに使うのが c:forEach タグです。これはJavaの拡張for文と似ています。items属性にリストのEL式を書き、var属性にそこから取り出された一個のデータの名前を書きます。

取り出したデータの名前を使って、そのタグ内でEL式を記述できます。以下はlistから取り出した一個のデータをshouhinに入れ、そのsid、sname、tankaをtableのtdタグを使い表示します。

<table>
<tr><th>商品ID</th><th>商品名</th><th>単価</th></tr>
<c:forEach var="shouhin" items="${list}">
    <tr>
    <td>${shouhin.sid } </td>
    <td>${shouhin.sname } </td>
    <td>${shouhin.tanka } </td>
    </tr>
</c:forEach>
</table>