【Java & Tomcat】チェックボックスを使ってデータを取得する(サンプルプログラム付き)

  • このエントリーをはてなブックマークに追加
  • Pocket

Webアプリケーションを作成するにあたり、ブラウザへの出力ばかりではなく、ラジオボタンを使ってユーザー側からの入力を取得する場合がある。ここではその方法について説明する。

チェックボックスのデータ取得の仕方

チェックボックスとは、Webページで選択をするための四角い箱のことである。この箱の場合、いくつかある箱の中からいくつでもチェックを付けて選ぶことができる。

サーブレットが選択されたチェックボックスのデータを取得するために、クライアントからのリクエスト情報が入っているHttpServletRequestオブジェクトに対してgetParameterValuesメソッドを使う。チェックボックスのデータはリクエスト情報の中にパラメータとして含まれている。このメソッドにチェックボックスのパラメータの名前(name)を引数として与えることによって、選択されたチェックボックスと紐付けされたデータ(value)を取得することができる。

書き方の基本は簡単だ。

String[] 変数名 = HttpServletRequestオブジェクト. getParameter Values(チェックボックスの名前);

実際のHTML画面でチェックボックスを選択するコードはこうなる。

<input type="radio" name="radiobutton" value="apple"> りんご

サーブレット側のコードはこうなる。

String[] checkedFruits = request.getParameterValues("checkbox");

パラメータの値を取得するAPI仕様

getParameterValues (java.lang.String name)

戻り値の型

java.lang.String[]

内容

与えられたリクエストのパラメータが持つ全ての値を含む文字列オブジェクトの配列を戻す。または、もしパラメータが存在しなければ、nullを戻す。もしパラメータが一つの値を持つならば、配列は1の長さになる。

 

引数:要求される値のパラメータの名前を含む文字列

 

戻り値:パラメータの値を含む文字列オブジェクトの配列

 

参照:getParameter(java.lang.String)

 

チェックボックスのデータを取得するサンプルプログラム

このサンプルプログラムラムは、3つの果物の中から好きな果物を選んでもらい、それを表示するというものだ。そのデータを取得したサーブレットは、選択された果物と紐付けられていた値をそのままレスポンスの画面に表示する。

サーブレットの配置とプログラムのコードは次のようになっている。

最初にHTMLで書かれたフォームデータ入力画面のコードを示す。

次に、HTML画面からリクエストを受け取るサーブレットのコードを示す。

実行結果

ブラウザにURL:http://localhost:8080/Servlet/checkboxes.html を入力し、Enterを押す。

表示されるブラウザ画面:

チェックボックスの「りんご」と「ばなな」を選んで、選択実行ボタンを押す。

表示されるブラウザ画面:

サンプルプログラムの説明

それでは簡単にプログラムの解説をしてゆこう。

  • [1] アノテーションの宣言をする。
  • [2] HttpServletを継承して、ServletRadioButtonクラスを定義する。
  • [3] doGet()メソッドをオーバーライドして定義する。
  • [4] Content Typeを設定する。
  • [5] 選択されたチェックボックスのデータを取得し、変数checkedFruitsに代入する。
  • [6] HTMLを出力するためのPrintWriterオブジェクトを取得する。
  • [7]-[12] PrintWriterオブジェクトに「あなたが好きな果物は[(配列:checkedFruits値をすべて表示)]です。」と表示するHTMLコードを出力する。

まとめ

サンプルプログラムをご覧頂いてもわかる通り、チェックボックスを使って入力されたデータを元に様々な処理を行う事ができる。他にラジオボタンを使った取得の方法もあるが、チェックボックスのメリットとしては「複数の項目が選択できる」ことである。項目の名称を変更したり、選択肢を増やしてみたりなど、自分なりに色々と変更してみよう。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できます。

IT講師に興味はありませんか?

・「今までIT講師をやってきたが、更に多くの講義を行いたい」

・「エンジニアとしてやってきたが講師業に魅力を感じている」

・「講師として活躍するためにベースとなる知識を知りたい」

・「様々な分野や言語の講師にチャレンジしてみたい」


という方はぜひIT講師募集のページをご覧ください。


リナックスアカデミーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。


システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。


テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。


IT講師募集のページを見る

SNSでもご購読できます。

コメントを残す

*

未経験からの育成制度も充実
IT講師に興味はありませんか?

リナックスアカデミーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する