String 変数 = request.これで、フォームに用意されたコントロールから、引数に指定した名前の項目の値が取り出せます。注意して欲しいのは、「指定するのはIDではなく名前である」という点でしょう。<input id="hoge">というように、IDの指定だけでは値を取り出せません。必ずname属性を指定しておく必要があります。
getParameter( 名前 );
String[] 変数 = request.getParameterValues( 名前 );このgetParameterValuesは、引数で指定されたnameの値をすべてまとめたString配列を返します。これは、例えば複数項目が選択できる<select>タグから全値を取り出したりするのに用いられます。
String inpt = request.getParameter("input");いずれもnameで指定した名前を引数に指定していることがわかるでしょう。少々ややこしいのが、<select>の取得です。これは今回、複数項目を選択できるようにしてあるのです。
String chk = request.getParameter("check");
String rd = request.getParameter("radio");
String[] sels = request.getParameterValues("select");まず、getParameterValuesでString配列を取り出します。そして繰り返しを使い、配列から1つずつ値を取り出してまとめていきます。ただし、全く値がない場合、getParameterValuesはnullになり、for文は例外になりますから、nullでないことを確認の上で実行するのを忘れないようにしましょう。
String sel = "";
if (sels != null){
for(int i = 0;i < sels.length;i++)
sel += sels[i] + " ";
}
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <% String inpt = request.getParameter("input"); inpt = inpt == null ? "" : inpt; String chk = request.getParameter("check"); chk = chk == null ? "OFF" : "ON"; String rd = request.getParameter("radio"); rd = rd == null ? "" : rd; String[] sels = request.getParameterValues("select"); String sel = ""; if (sels != null){ for(int i = 0;i < sels.length;i++) sel += sels[i] + " "; } String str = "INPUT:" + inpt + "<br>" + "CHECK: " + chk + "<br>" + "RADIO: " + rd + "<br>" + "SELECT:" + sel; %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Sample jsp</title> <style> h1 {font-size:16pt; background:#AAFFAA; padding:5px; } </style> </head> <body> <h1>Sample jsp page</h1> <p>これはサンプルで用意したページです。</p> <p><%=str %></p> <table> <form method="post" action="helo.jsp"> <tr><td>入力</td><td> <input type="text" id="input" name="input"></td></tr> <tr><td></td><td> <input type="checkbox" id="c1" name="check" value="Une"> <label for="c1">チェックボックス</label></td></tr> <tr><td></td><td> <input type="radio" name="radio" id="r1" value="first"> <label for="r1">ラジオボタン1</label><br> <input type="radio" name="radio" id="r2" value="Second"> <label for="r2">ラジオボタン2</label></td></tr> <tr><td></td><td> <select id="select" name="select" multiple> <option value="Eins">1つ目</option> <option value="Twei">2つ目</option> <option value="Drei">3つ目</option> </select></td></tr> <tr><td></td><td> <input type="submit" value="送信"></td></tr> </form> </table> </body> </html>
<< 前へ | 次へ >> |