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); }