第3章 追加
1 フォーム
一覧の上などに商品名(sname)と単価(tanka)を入力するフォームを作成します。
このとき、methodはpostにします。データを書き換えるような処理の場合、postを使用します。
<form action="insert" method="post">
商品名:<input type="text" name="sname" value=""><br>
単 価:<input type="text" name="tanka" value=""><br>
<input type="submit" value="追加">
</form>
2 追加処理
InsertServletを作成します。URLは /insert とします。
doPostでフォームから入力した内容を受け取ります。
request.setCharacterEncoding("UTF-8");
String sname = request.getParameter("sname");
int tanka = Integer.parseInt(request.getParameter("tanka"));
渡された情報でShouhinのDTOを生成後にDAOのinsertメソッドを使ってデータベースに追加します。
ShouhinDAO dao = new ShouhinDAO();
Shouhin dto = new Shouhin(0, sname, tanka);
dao.insert(dto);
DTP生成時に主キーである商品IDは0です。これは追加時に自動で設定されるためです。よってsidは何を設定しても構いませんが、ここでは0とします。
追加後には「追加しました」という画面を出してもいいですが、商品一覧に自動で戻っても良いでしょう。自動でページを遷移することをリダイレクトと言います。
URL slist に自動で遷移するには以下のように書きます。
response.sendRedirect("slist");