ページの先頭行へ戻る
 ApcoordinatorUJIタグリファレンス

5.10 uji:radioButton

uji:radioButtonについて説明します。uji:radioButtonには、以下の機能があります。

また、ブラウザによる対応状況についても説明します。

基本機能

uji:radioButtonタグは、ラジオボタンを作成します。HTMLのFORMタグか、uji:formタグまたはuji:mcFormタグのコンテントで使用します。

uji:radioButtonは、uji:listタグ、uji:tableタグと組み合わせて、リストの要素やテーブルのセルを選択するラジオボタンに使用します。リストやテーブルとは関係なく、ラジオボタンとそのラベルのみを並べて表示する場合は、uji:buttonListを使用してください。ただしタブ順を指定したい場合はリストやテーブルの利用に関係なくuji:radioButtonを使用してください。

ラジオボタンがチェックされると、チェックされたラジオボタンの情報がselectedBean,selectedPropertyアトリビュートで指定されたデータBeanのプロパティにセットされます。

チェックされたラジオボタンの情報の記録方法を以下の3通りから選択でき、pickUpModeアトリビュートで指定します。

フォームが送信されると、チェックされたラジオボタンの情報(ラジオボタンに対応づけられたオブジェクト、リストの要素番号、セルの座標のいずれか)がselectedBean, selectedPropertyで指定されたプロパティにセットされます。

ラジオボタンの初期チェック状態は、selectedBean, selectedPropertyで指定されたプロパティの値に従います。

selectedBean, selectedPropertyの指定が同一の場合は同じラジオボタングループとなります。

bean, propertyで指定されたプロパティが項目クラス(com.fujitsu.uji.compo.RadioButtonModelインタフェースを持つクラス)の場合は、その項目クラスで色などのいくつかの書式とラベルを指定することができます。項目クラスとアトリビュートの双方で書式やラベルを設定した場合は、項目クラスの指定が優先されます。

項目クラスの代わりに外付け属性を利用する方法については、“Apcoordinatorユーザーズガイド”を参照してください。

アトリビュート

uji:radioButtonタグのアトリビュートは以下を指定します。

アトリビュート名

省略

意味

省略時の動作

pickUpMode

選択されたラジオボタンの情報をデータBeanに記録する方法を指定します。

  • object
    bean, propertyアトリビュートによってラジオボタンに対応付けられたオブジェクトを記録します。

  • list
    uji:listRendererタグのコンテントでラジオボタンを表示している場合に、ラジオボタンでチェックされたリスト要素の要素番号を記録します。selectedPropertyアトリビュートで指定するプロパティはint型またはIntegerクラスにしてください。

  • table
    uji:tableRendererタグのコンテントでラジオボタンを表示している場合に、テーブルの中でラジオボタンでチェックされたセルの座標を記録します。selectedPropertyアトリビュートで指定するプロパティはcom.fujitsu.uji.compo.TableCoordクラスにしてください。

object

bean

ラジオボタンに対応付けるオブジェクトを指定します。データBeanのJSP変数名で指定します。

画面部品タグのカレントオブジェクトを使用します。

property

ラジオボタンに対応付けるオブジェクトを、beanで指定したデータBeanのプロパティ名で指定します。

beanで指定したオブジェクトをラジオボタンに対応付けます。

selectedBean

不可

選択されたオブジェクトを格納するデータBeanをJSP変数名で指定します。

省略できません。

selectedProperty

不可

選択されたオブジェクトを格納するプロパティを指定します。selectedBeanで指定したデータBeanのプロパティを指定します。

省略できません。

width

ボタンの幅を指定します。(*)

標準の幅となります。

height

ボタンの高さを指定します。(*)

標準の高さとなります。

background

ボタンの背景色を指定します。(*)

標準の背景色となります。

foreground

文字色を指定します。(*)

標準の文字色となります。

fontStyle

文字スタイルを指定します。(*)

標準の文字スタイルとなります。

fontWeight

文字の太さを指定します。(*)

標準の太さとなります。

fontSize

文字の大きさを指定します。(*)

標準の大きさとなります。

textDecoration

文字の装飾形式を指定します。(*)

標準の装飾形式となります。

enabled

項目の操作の可否をtrue/falseで指定します。

true

verticalAlignment

ボタンの縦位置合わせ方法を指定します。(*)

標準値となります。

tabIndex

タブ順を数値で指定します。

配置順となります。

tipText

マウスポイント時に表示するティップの文字列を指定します。

表示しません。

label

ラベルテキストを指定します。

表示しません。

css

class属性の属性値を指定します。以下のタグにclass属性を設定します。
INPUT, LABEL

class属性を出力しません。

visible

項目の表示の有無をtrue/falseで指定します。

true

event

イベント発生時に実行するJavaScriptを記述します。

イベント発生時にJavaScriptを実行しません。

(*)“7.7.1 項目の指定方法”を参照してください。

コンテント

uji:radioButtonタグのコンテントは記述できません。

使用例

JSP

<uji:form method="post" verbs="ok,cancel" beanId="body">
  ...
  <uji:list bean="body" property="list">
    <uji:listRenderer type="list">
      <UL><uji:children/></UL>
    </uji:listRenderer>
    <uji:listRenderer type="element">
      <LI>
      <uji:radioButton pickUpMode="object" selectedBean="body" selectedProperty="foo" />
      <uji:getProperty property="name"/>
      ...
    </uji:listRenderer>
  </uji:list>
</uji:form>

上記例では、リストの要素としてデータBeanを使用しています。また、"body"と名付けられたデータBeanはプロパティfooを持ちます。リストの要素数と同じだけラジオボタンが表示されますが、それぞれに、リストの要素(データBean)が対応付けられます。

フォームが送信されると、チェックされているラジオボタンに対応付けられたデータBeanが、"body"データBeanのプロパティfooに格納されます。プロパティfooの値を取得することによって、ラジオボタンによってチェックされたリスト要素を得ることができます。以下は表示画面の例です。

表示画面

注意事項

XML連携機能

uji:radioButtonタグはラジオボタンを作成します。

イベントモデルではXML連携機能は利用できません。

アトリビュート

uji:radioButtonタグでは、XML連携機能を使用する際に以下のアトリビュートを指定します。これ以外のアトリビュートについては、“基本機能”を参照してください。

アトリビュート名

省略

意味

省略時の動作

bean

データBeanまたはXMLデータBeanのJSP変数名を指定します。(*)

カレントオブジェクトを使用します。

property

ラジオボタンに対応付ける要素を、ルート要素の子要素名で指定します。(*)

propertyまたはxpathいずれかの指定が必要です。

xpath

ラジオボタンに対応付ける要素または属性を、ルート要素からの相対パスで指定します。(*)

propertyまたはxpathいずれかの指定が必要です。

selectedBean

不可

選択されたテキストを格納するXMLデータBeanをJSP変数名で指定します。

省略できません。

selectedProperty

選択されたオブジェクトを格納する要素を、ルート要素の子要素名で指定します。(**)

selectedPropertyまたはselectedXPathのいずれかの指定が必要です。

selectedXPath

選択されたオブジェクトを格納する要素または属性を、ルート要素からの相対パスで指定します。(**)

selectedPropertyまたはselectedXPathのいずれかの指定が必要です。

labelXPath

ラジオボタンのラベルとなる単純要素または属性を指定します。カレントオブジェクトであるXMLデータBeanまたはbeanで指定したXMLデータBeanのルート要素からの相対パスで指定します。

labelアトリビュートに従います。

(*)“7.6.1 使用するXML要素の指定方法”を参照してください。

(**)pickUpModeにtableを指定した場合、チェックされたラジオボタンの情報の格納先として、XMLデータBeanを使用することはできません。

XMLデータの構造
  • propertyまたはxpathは単純要素または属性を指定します(*1)。pickUpMode="object"を指定した場合、propertyまたはxpathで指定された要素の内容または属性の値がラジオボタンに対応付けられます。

  • selectedPropertyまたはselectedXPathは単純要素または属性を指定します(*1)。

  • labelXPathには単純要素または属性を指定します(*1)。

(*1) 要素の集合を指定した場合の動作は“7.6.3 要素や属性の集合を指定した場合の動作”を参照してください

使用例

XML

<root>
  <list>
    <item code="SA10203"><name>えんぴつ</name><price>100</price></item>
    <item code="LT22432"><name>クリップ</name><price>250</price></item>
    <item code="NN43390"><name>カッター</name><price>510</price></item>
  </list>
</root>

JSP

<uji:form name="order" method="post" verbs="buy,cancel" beanId="body">
  <uji:list bean="body" xpath="list">
    <uji:listRenderer type="list" >
      <TABLE border="2"><uji:children/></TABLE>
    </uji:listRenderer>
    <uji:listRenderer type="element" >
      <TR>
        <uji:composite>
          <uji:compositeRenderer>
            <TD>
              <uji:radioButton pickUpMode="object" xpath="@code" labelXPath="name"
                               selectedBean="body" selectedProperty="rcv" />
            <TD>
              <uji:getProperty xpath="price"/>円
          </uji:compositeRenderer>
        </uji:composite>
      </TR>
    </uji:listRenderer>
  </uji:list>
  ...
</uji:form>

この例では、uji:listタグは、リストの要素としてXMLデータのitem要素を使用します。uji:listRendererタグのコンテントでは、item要素をルート要素としたXMLデータBeanがカレントオブジェクトとなります。item要素のcode属性の値をラジオボタンに対応付けるため、uji:radioButtonタグにxpath="@code"を指定します。また、item要素のコンテントにあるname要素のコンテントをラベルテキストとして使用するため、labelXPath="name"を指定します。

表示画面

イベントモデル

uji:radioButtonタグは、ラジオボタンを作成します。

uji:radioButtonタグは、uji:formタグの中に記述します。

uji:radioButtonタグの動作については、“基本機能”を参照してください。

アトリビュート

uji:radioButtonタグは、イベントモデルで使用する際に以下のアトリビュートを指定します。これ以外のアトリビュートについては、“基本機能”を参照してください。

アトリビュート名

省略

意味

省略時の動作

bean

managed beanの名前を指定します。

画面部品タグのカレントオブジェクトを使用します。

property

ラジオボタンに対応付けるオブジェクトを、beanで指定したmanaged beanのプロパティ名で指定します。

beanで指定したオブジェクトをラジオボタンに対応付けます。

valueChangeListener

バリューチェンジリスナメソッドをメソッドバインディング式で指定します。

バリューチェンジリスナメソッドを使用しません。

immediate

値の変換と検証を処理するフェーズを指定します。

  • trueの場合、Apply Request Valuesで処理されます。

  • falseの場合、Process Validatorsで処理されます。

false

id

コンポーネントのIDを指定します。

自動的に付与されます。

コンテント

uji:radioButtonタグのコンテントには以下のタグが記述できます。

  • f:valueChangeListener(0個以上)

使用例

JSP

 <f:view>
  <uji:form name="myform" method="post">
    ...
    <uji:list bean="myBean" property="list">
      <uji:listRenderer type="list">
        <UL><uji:children/></UL>
      </uji:listRenderer>
      <uji:listRenderer type="element">
        <LI>
        <uji:radioButton pickUpMode="object" selectedBean="myBean" 
                         selectedProperty="selectedItem" />
        <uji:getProperty property="name"/>
        ...
      </uji:listRenderer>
    </uji:list>
  </uji:form>
</f:view>
注意事項

注意事項については、“基本機能”を参照してください。

ブラウザ対応状況

アトリビュート

IE5.5

IE6

IE7

IE8

Firefox2.0

Firefox3.0

Safari2.0

width

※1

※1

※1

※1

※1

※1

※2

height

※1

※1

※1

※1

※1

※1

×

background

×

×

×

foreground

fontStyle

fontWeight

fontSize

textDecoration

※3

※3

※3

※3

※3

enabled

verticalAlignment

※4

※4

※4

※4

×

tabIndex

×

tipText

label

css

※5

※5

※5

※5

※5

※5

※5

visible

※1: 幅または高さの小さいサイズにそった正方形のチェックボックスとなります。

※2: widthはチェックボックス、ラジオボタンとその右側の余白を含めた領域に適用されます。チェックボックス、ラジオボタンのサイズは固定です。

※3: blinkは指定できません。

※4: 実数値+単位は、指定不可です。

※5: CSSを使った設定が実際に表示に反映されるかどうかはブラウザの仕様に依存します。