機能SAMPLE.10 「EzServlet/radioタグを利用する方法」
今回は、ラジオボタンの利用方法について説明します。
HTMLのラジオボタンは、複数の選択肢より1つのみを選択するようなインターフェースを作成する場合に利用されます。
EzServletでは「radioタグ」を容易に利用するための「専用クラス:EzRadio」が用意されています。
EzRadioの記述方法を説明します。
EzRadio radioField = new EzRadio() .addRadio("選択値1") .addRadio("選択値2") .addRadio("選択値3") .init("デフォルト値");
具体的にEzRadioの説明をしていきます。
HTMLに記述されたradioタグは、実行事にEzRadioクラスで設定された内容に置き換えられます。
1.addRadioメソッド
addRadioメソッドで、1つのラジオボタンの設定を行います。
addRadio("選択値1")のシグニチャの内容は下記の通りです。
・第一引数:選択された時にサーバーに受け渡される値を設定します。2.initメソッド
initメソッドは、初期表示の値をセットするメソッドです。
init("デフォルト値")のシグニチャは、addRadioで指定した何れかの値をセットします。
以下の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ネッ♪