第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>