ページの先頭行へ戻る
 Apcoordinatorユーザーズガイド

16.2.2 各種の画面部品タグ

本節では、各種の画面部品を紹介します。各画面部品タグの詳細は、“UJIタグリファレンス”を参照してください。

2次元の表を作成する画面部品です。

データBeanでは、com.fujitsu.uji.model.table.TableModelインタフェースを実装するクラスを型とするプロパティを持ちます。表は、以下のようなデータ構造を持ちます。

ツリー

木構造を段下げして表示する画面部品です。

データBeanでは、com.fujitsu.uji.model.tree.TreeModelインタフェースまたは、com.fujitsu.uji.model.tree.TreeNodeインタフェースのどちらかを実装するクラスを型とするプロパティを持ちます。 TreeNodeインタフェースは各ノードのデータで実装する必要があります。TreeModelインタフェースは全体で1個のオブジェクトになります。各ノードのデータでTreeNodeインタフェースを実装可能な場合はTreeNode、そうでない場合はTreeModelの利用が便利です。
ツリーは以下のデータ構造を持ちます。

ノードは、任意の階層だけ作成できます。データに子供がないノードがリーフになります。

インデントは段下げのために必要に応じて指定します。 段下げの文字や線を指定することができます。指定の方法は、“UJIタグリファレンス”(uji:treeRendererタグ)を参照してください。

リスト

各種のリストを扱う画面部品です。

リスト単体で使う他、SELECTタグや、複合Bean画面部品を組み合わせて使用することで、画面の動的な構成が可能です。 データBeanでは、com.fujitsu.uji.model.list.ListModelインタフェースを実装するクラスを型とするプロパティを持ちます。リストは以下のデータ構造を持ちます。

条件

条件の画面部品は、条件によって表示内容を変える場合に使用します。次の例は条件によって項目の色を変えて表示する例です。

<uji:switch bean="body" property="status" >
   <uji:case cls="error" >
       <FONT color="red" ><uji:getProperty property="value" /></FONT>
   </uji:case>
   <uji:case cls="warning" >
       <FONT color="yellow" ><uji:getProperty property="value" /></FONT>
   </uji:case>
   <uji:case>
       <FONT color="black" ><uji:getProperty property="value" /></FONT>
   </uji:case>
</uji:switch>

条件の画面部品を使う場合は、特別なインタフェースは必要ありません。指定されたプロパティをtoStringメソッドで文字列に変換して、この値とclsで指定したクラス文字列と比較した結果、合致したuji:caseタグの内容が出力されます。

複合Bean

複合Beanは、データBeanのプロパティがユーザ定義のデータBeanのクラスを型とする場合に、その内容を操作します。特にデータBeanの繰り返しがある場合に、データBeanの内容を参照するために使用します。

    <uji:composite>
      <uji:compositeRenderer>
        <TR>
          <TD rowspan="2"><uji:getProperty property="denpyoNo" /></TD>
          <TD><uji:getProperty property="chumonDate" /></TD>
          <TD><uji:getProperty property="shohinCode" /></TD>
          <TD><uji:getProperty property="shohinCount" /></TD>
          <TD colspan="2"><uji:getProperty property="kokyakuWard" /></TD>
          <TD><input name="<uji:compositeName property='nonyuDate' />"
                     value="<uji:getProperty property='nonyuDate' />" ></TD>
        </TR>
        <TR>
          <TD colspan="3"><uji:getProperty property="shohinName" /></TD>
          <TD><uji:getProperty property="tantoOffice" /></TD>
          <TD><uji:getProperty property="kokyakuName" /></TD>
          <TD><uji:getProperty property="kokyakuPhone" /></TD>
        </TR>
      </uji:compositeRenderer>
    </uji:composite>

uji:compositeRendererタグ内では、uji:compositeNameタグによって、入力内容をデータBeanに反映するための名前を指定します。