フォームと暗黙オブジェクトrequest
今回は、フォームからの送信について説明しましょう。まずは、簡単なフォームを持ったサンプルを作ってしまいましょう。ここでは「index.jsp」というファイルとして作成をしてあります。
<%@page contentType="text/html" %>
<%@page pageEncoding="UTF-8" %>
<!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%>JSP Page</title%>
</head%>
<body%>
<h1%>JSP Page</h1%>
<%
String s = request.getParameter("text1");
if (s != null){
out.println("こんにちは、" + s + "さん!<br%><br%>");
}
%%>
※送信フォーム<br%>
<form method="post" action="index.jsp"%>
<input type="text" name="text1"%>
<input type="submit"%>
</form%>
</body%>
</html%>
テキストを送信すると、「こんにちは、××さん!」と表示される。 |
送信フォームから、適当にテキストを入力し、送信をしてみてください(ただし、日本語は使わず半角英数字で! 理由は後ほど)。「こんにちは、××さん!」と表示されますよ。送信したテキストが受け渡されていることがわかりますね。
さて、みなさんHTMLの基本はだいたいわかっていますか? フォームによる送信というのは、だいたい以下のような形で記述しますね。
<form method=×× action=××>
・・・入力する項目のタグ・・・
<input type="submit">
</form>
methodは、送信する方式を指定します。これは「get」か「post」のいずれかになります。getというのは、HTTPプロトコルのGETコマンドを使ったもので、これは一般的にデータの取得用に用いるものです。postはHTTPプロトコルのPOSTコマンドを使うもので、データの送信はこちらを利用するのが一般的でしょう。
actionには、送信先のURLを指定します。これは別ファイルでなくてもかまわなくて、フォームがあるファイル自身を送信先に指定することも可能です。――では、作成したフォームを見てみましょう。
<form method="post" action="index.jsp">
<input type="text" name="text1">
<input type="submit">
</form>
メソッドは「post」に、送信先は「index.jsp」になっていますね。また、<input type="text">タグには、nameという属性で名前を指定してあります。これは、実は非常に重要です。送信された情報を取り出す際に必要となるからです。JSPで処理をする場合、それぞれの入力用タグには必ずnameで名前を指定しておく必要があるのです。
フォームについては、これらのポイントさえおさえていれば、特に難しいところはありません。JSPだからといって特別なことは何もないのです。