機能SAMPLE.10 「EzServlet/radioタグを利用する方法」


今回は、ラジオボタンの利用方法について説明します。
HTMLのラジオボタンは、複数の選択肢より1つのみを選択するようなインターフェースを作成する場合に利用されます。


EzServletでは「radioタグ」を容易に利用するための「専用クラス:EzRadio」が用意されています。
EzRadioの記述方法を説明します。

EzRadio radioField = new EzRadio()
			.addRadio("選択値1")
			.addRadio("選択値2")
			.addRadio("選択値3")
			.init("デフォルト値");

具体的にEzRadioの説明をしていきます。


1.addRadioメソッド
 addRadioメソッドで、1つのラジオボタンの設定を行います。
 addRadio("選択値1")のシグニチャの内容は下記の通りです。
 ・第一引数:選択された時にサーバーに受け渡される値を設定します。

2.initメソッド
 initメソッドは、初期表示の値をセットするメソッドです。
 init("デフォルト値")のシグニチャは、addRadioで指定した何れかの値をセットします。

HTMLに記述されたradioタグは、実行事にEzRadioクラスで設定された内容に置き換えられます。



以下のHTMLを例に説明します。ファイル名は「Hoge.html」です。

<html>
   <head></head>
   <body>
      <form method="POST">
         <input type="radio" name="radioField">男性
         <input type="radio" name="radioField">女性
         <input type="button" name="execute" value="実行">
      </form>
   </body>
</html>


DTOは以下の様になります。

public class Hoge implements Serializable {

   /** Hogeに対応するコントロラークラスを保持する属性です */
   public static final Class CONTROLLER_CLASS = HogeController.class;

   /** radioタグ「radioField」の情報を保持する属性です */
   public EzRadio radioField = new EzRadio()
                                   .addRadio("man")
                                   .addRadio("woman");

}


CONTROLLERクラスは以下の様になります。

public class HogeController {

   /** 初期画面を表示するメソッドです。*/
   public void index(Hoge hoge) {
      // radioタグ「radioField」を"選択"状態に設定します。
      hoge.radioField.init("woman");
   }

   /** 「実行」ボタンが押された時に呼び出されるメソッドです。*/
   public void execute(Hoge hoge) {
      // 画面入力値をDTOにセットします。 
      request.set(hoge);
      // ラジオボタンの選択値を出力します。 
      system.out.println(hoge.radioField.getValue());

      // 表示するHtmlのDTOをセットします。
      response.setPage(hoge);
   }
}

上記例では、ラジオボタンの選択状態を動的に設定する場合を記述しましたが、静的なラジオボタンの場合は、DTOで「流れるようなインターフェース」で、initメソッドを呼び出して設定することが可能です。


追記
ここ3回で、EzSelect,EzCheckbox,EzRadioの説明をしましたが、何れのタグも繰り返し項目で利用する事が可能です(記述方法も同様)。
またネストの制限はありません。


超かーんたーん(o^∀^)oネッ♪