同一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[] 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);
}
}