Radio, RadioGroupコンポーネントは、文字通りラジオボタンを作成する
コンポーネントです。RadioGroupによって複数のラジオボタンがグループ化されます。
今回は、ページ仕様ファイルに定義するのではなく、直接HTML側に
コンポーネント定義を行っています。
[HTMLテンプレート]
<!-- ラジオボタンを表示する。 (Radio,RadioGroupコンポーネントを使用。) Radioコンポーネント 必要な属性値は、valueとなっておりObjectの値を指定する. RadioGroupコンポーネント 必要な属性値は、selectedとなっておりObjectの値を指定する。 Radioコンポーネントは、通常RadioGroupコンポーネントと一緒に使用する。 また、RadioGroupコンポーネントはFormコンポーネントの内部にないといけない。 グループ化されている場合、RadioGroupのselected属性で指定された値が 選択された状態となる。 --> <br/> <hr/> <form jwcid="form002@Form" name="form_002" method="post" action="" id="form002"> <div id="radio_001" align="center"> <b>Radio, RadioGroupコンポーネントを使用</b> <!-- ここでは、ページ仕様ファイルにてラジオグループの初期値を設定している。 --> <br/> 出力: <br/> <span jwcid="radioGroup001@RadioGroup" selected="ognl:radio001"> <input jwcid="@Radio" type="radio" name="radio_001" value="ognl:@gsf.samples.tapestry.ThirdSample@RADIO001" onchange="document.getElementById('form002').submit();"/> ラジオボタン001<br/> <input jwcid="@Radio" type="radio" name="radio_002" value="ognl:@gsf.samples.tapestry.ThirdSample@RADIO002" onchange="document.getElementById('form002').submit();"/> ラジオボタン002<br/> <input jwcid="@Radio" type="radio" name="radio_003" value="ognl:@gsf.samples.tapestry.ThirdSample@RADIO003" onchange="document.getElementById('form002').submit();"/> ラジオボタン003<br/> </span> <br/> 選択状態: <font color="red" size="+2"> <span jwcid="@Insert" value="ognl:radio001">選択された値を表示する</span> </font> <br/> </div> </form> <hr/> <br/>
[ページ仕様ファイル]
<?xml version="1.0" encoding="Windows-31J"?> <!DOCTYPE page-specification PUBLIC "-//Apache Software Foundation//Tapestry Specification 4.0//EN" "http://jakarta.apache.org/tapestry/dtd/Tapestry_4_0.dtd"> <page-specification class="gsf.samples.tapestry.ThirdSample"> <property name="radio001" initial-value="ognl:@gsf.samples.tapestry.ThirdSample@RADIO001"/> </page-specification>
[ページコンポーネントクラス]
package gsf.samples.tapestry; import org.apache.tapestry.*; import org.apache.tapestry.html.*; public abstract class ThirdSample extends BasePage{ public static final String RADIO001 = "radio button 1"; public static final String RADIO002 = "radio button 2"; public static final String RADIO003 = "radio button 3"; public abstract boolean getCheckbox001(); public abstract void setCheckbox001(boolean value); public abstract String getRadio001(); public abstract void setRadio001(String value); }