転職を繰り返したサラリーマンの多趣味ブログ

30才未経験でSEに転職した人の多趣味ブログ

【技術書メモ】基礎からのサーブレット⑤

同一name属性で、複数の値を取得する方法

<form action="checkbox" method="post">
<p><input type="checkbox" name="genre" value="家電">家電</p>
<p><input type="checkbox" name="genre" value="玩具">玩具</p>
<p><input type="checkbox" name="genre" value="時計">時計</p>
<p><input type="checkbox" name="genre" value="書籍">書籍</p>
<p><input type="checkbox" name="genre" value="ゲーム">ゲーム</p>
<p><input type="checkbox" name="genre" value="文房具">文房具</p>
<p><input type="checkbox" name="genre" value="食品">食品</p>
<p><input type="submit" value="確定"></p>
</form>
@WebServlet(urlPatterns={"/chapter6/checkbox"})
public class Checkbox extends HttpServlet {

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

		// コンテンツタイプの指定
		resp.setContentType("text/html; charset=UTF-8");

		// 文字エンコーディングの指定
		req.setCharacterEncoding("UTF-8");

		PrintWriter pw = resp.getWriter();

		// String型の配列で受け取る
		String[] genre = req.getParameterValues("genre");

		Page.header(pw);
		if(genre != null) {
			for(String item: genre) {
				pw.println("[" + item + "]");
			}
			pw.println("に関するお買い得情報をお送りしましょう。");
		}else{
			pw.println("お買い得情報はお送りしません");
		}
		Page.footer(pw);

	}

}