| エンタープライズ:特集 | 2003/03/31 14:00:00 更新 |
JSPプログラミング入門
第1回:JSPによる入出力の基礎 (2/3)
■入力フォーム処理の基本
Webアプリケーションでユーザーからの入力を受け取るためには、入力フォームを用いる。入力フォームは、HTMLファイル中に次のような<FORM>タグで構成する必要がある。
|
<FORM method="GET または POST" action="呼び出すプログラム名"> …テキストフィールドなどの入力フィールド。 たとえば、<INPUT type="TEXT">など… <INPUT type="SUBMIT" name="ボタン名"> </FORM> |
ここでは、リスト1に示すtest.htmlファイルを用意してみよう。行番号はソース内には必要なく、便宜上付加しているものだ。
リスト1■test.html
|
1:<HTML> 2:<BODY> 3:<FORM method="POST" action="test.jsp"> 4:商品名:<INPUT type="TEXT" name="productname"> 5:<INPUT type="SUBMIT" value="送信"> 6:</FORM> 7:</BODY> 8:</HTML> |
上記のリスト1をWebブラウザで参照した場合には、画面1のようになる。画面1には、商品名を入力するためのひとつのテキストフィールドを用意した。そのテキストフィールドには、4行目にあるように、nameアトリビュートでproductnameという名前を割り当てている。
| 4:商品名:<INPUT type="TEXT" name="productname"> |
ユーザーが「SUBMIT」ボタン(画面1にある「送信する」ボタン)を押した場合には、入力フォーム内の文字列データが<FORM>タグ内の「action」アトリビュートで指定したWebサーバ側のプログラムに送信される。
リスト1では、3行目で「action」アトリビュートに「test.jsp」ファイルに指定しているため、ユーザーが「SUBMIT」ボタンを押した際には、サーバ側に置かれた「test.jsp」という名のプログラムが呼び出されることになる。
| 3:<FORM method="POST" action="test.jsp"> |

画面1■リスト1の実行結果
それでは、リスト1から呼び出されるtest.jspファイルを作っていこう。ここでは分かりやすくするため、単純にユーザーがリスト1の画面で入力した商品名そのものを表示することにした。プログラムソースは、次に挙げるリスト2のようになる。
リスト2■test.jsp
|
1: <HTML> 2: <BODY> 3: 入力された商品名は、 <%= request.getParameter("productname") %> 4: </BODY> 5: </HTML> |
リスト2の3行目にあるように、JSPにおいて入力フォームに入力された値を取得するには、requestオブジェクトのgetParameterメソッドを用いる。
| request.getParameter("フィールド名") |
requestオブジェクトのgetParameterメソッドは、引数に指定したフィールド名をもつ入力フィールドに入力された値を、文字列として返すメソッドだ。
ちなみに、getParameterメソッドは、引数に指定したフィールド名をもつ入力フィールドが存在しない場合には、nullを返すことになっている。該当するフィールド名を持つ入力フィールドが存在しない場合としては、たとえばユーザーがHTMLファイルの入力フォームを経由せずに、直接JSPファイルのURLを要求した場合などが考えられる。
|
requestオブジェクトは、JSPから何も定義せずにそのまま利用できる「デフォルトオブジェクト」であり、その実態は、javax.Servlet.http.HttpServletRequestクラスのインスタンスである。
JSPには、requestオブジェクト以外にも、表1に示すさまざまなデフォルトオブジェクトが用意されている。実際にこれらのオブジェクトがどのようなメソッドを備えているのかを知りたければ、J2EE SDKのドキュメントで、表1に示すクラスに関するヘルプを参照すればよいだろう。
表1■JSPの標準オブジェクト概要
|
[大澤文孝,ITmedia]
