フォームについて | A Dramatic Turn Of Events

A Dramatic Turn Of Events

日々の生活から学んだこと・感じたこと

 フォームについて。

フォームはブラウザに入力された値を、サーバに送信する際に使用する仕組み。フォームの中には、コントロールと呼ばれる部品を配置できる。

 例えば、次のようなHTMLは、<input>タグによりコントロール(テキストフィールドとサブミットボタン)を描画する。送信ボタンを押下することにより、テキストフィールドに入力された値をサーバ(サーバサイドプログラム)に送信する。

<form>
<input type = "text" name = "name">
<input type = "submit" value = "送信">
</form>

 
  
<form>タグには、action属性とmethod属性を指定する。
action属性:データの送信先となるサーブレット or JSP
method属性:GET or POST

上のテキストフィールドに「test」と入力して送信ボタンを押下すると、HTMLファイル名の後にリクエストパラメータという形で、サーバに送信するデータが付与される。

リクエストパラメータ:test.html?name=test

また、テキストフィールドに「testテスト」と入力すると以下のように表示された。

リクエストパラメータ:test.html?name=test%83e%83X%83g

「%83e%83X%83g」は、「テスト」がURLエンコーディングされた結果である。サーバサイドでリクエストパラメータを受け取る際、元に戻す処理が必要となる。具体的には、次のようなコード。
request.setCharacterEncoding("文字コード");

なお、method属性にPOSTを指定した場合、リクエストパラメータである「?name=test」は表示されない。

開発者がこっそり処理に必要なデータをサーバに送信する際、hiddenが活躍する。

<input type = "hidden" name = "hoge" value = "piyo">