String 変数 = request.これで、フォームに用意されたコントロールから、引数に指定した名前の項目の値が取り出せます。注意して欲しいのは、「指定するのはIDではなく名前である」という点でしょう。<input id="hoge">というように、IDの指定だけでは値を取り出せません。必ずname属性を指定しておく必要があります。
getParameter( 名前 );
String[] 変数 = request.getParameterValues( 名前 );このgetParameterValuesは、引数で指定されたnameの値をすべてまとめたString配列を返します。これは、例えば複数項目が選択できる<select>タグから全値を取り出したりするのに用いられます。
String inpt = request.getParameter("input");
String chk = request.getParameter("check");
String rd = request.getParameter("radio");いずれもnameで指定した名前を引数に指定していることがわかるでしょう。少々ややこしいのが、<select>の取得です。これは今回、複数項目を選択できるようにしてあるのです。String[] sels = request.getParameterValues("select");
String sel = "";
if (sels != null){
for(int i = 0;i < sels.length;i++)
sel += sels[i] + " ";
}まず、getParameterValuesでString配列を取り出します。そして繰り返しを使い、配列から1つずつ値を取り出してまとめていきます。ただし、全く値がない場合、getParameterValuesはnullになり、for文は例外になりますから、nullでないことを確認の上で実行するのを忘れないようにしましょう。※リストが表示されない場合
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>
| << 前へ | 次へ >> |