| Apcoordinator ユーザーズガイド |
目次
![]()
|
| 第3部 Webアプリケーションの開発 | > 第16章 UJIタグを使ったプログラミング | > 16.4 コンポーネントタグを使ったプログラミング |
DataBeanの代わりに、com.fujitsu.uji.AttributeDataBeanを利用します。
属性は、
package sample; public class BodyBean extends com.fujitsu.uji.AttributeDataBean { protected String strData; public String getStrData() { return strData; } public void setStrData(String value) { strData = value; } }
AttributeDataBeanクラスのsetAttributeメソッドで指定します。引数は、プロパティ名、属性名、属性の値となります。
属性の指定方法は項目クラスや、タグのアトリビュートでの指定と共通です。
dataBean.setAttribute("strData", TagAttributeNames.FOREGROUND, "red");
uji:fieldStringタグの場合は、FieldStringクラスやFieldStringModelインタフェースと共通になります。項目クラスのインタフェースで、getメソッド、isメソッドに対応する属性が指定可能です。com.fujitsu.uji.compo.TagAttributeNamesクラスは、属性名の定数を持っています。
例では、AttributeDataBeanクラスを利用していますが、データBeanにcom.fujitsu.uji.BeanAttributeAccessインタフェースを実装すれば、任意のクラスで利用可能です。
uji:comboBox、uji:listBox、uji:buttonListについても、外付け属性を利用することができます。String (複数選択の場合はString[])を使用します。フォームが送信されると、選択された選択肢の値がこのプロパティに代入されます。以下は、データBeanの作成例です。
選択肢については、特別な属性名
package sample; import com.fujitsu.uji.compo.*; public class BodyBean extends com.fujitsu.uji.AttributeDataBean { protected String comboData; public String getComboData() { return comboData; } public void setComboData(String value) { comboData = value; } }
valuesにjava.util.Map型で設定します。このMapは、選択肢の値をキーに、表示文字列を値に持ったものです。選択肢の順序を一定にするため、com.fujitsu.uji.util.SequencedMapが利用できます。
import java.util.*; import com.fujitsu.uji.util.*; import com.fujitsu.uji.compo.*; .... // 値 dataBean.setComboData("HND"); // 選択肢 Map map = new SequencedMap(); map.put("HND", "羽田"); map.put("NRT", "成田"); dataBean.setAttribute("comboData", TagAttributeNames.VALUES, map); // 選択肢の色 String[] colors = new String[]{"blue","green"}; dataBean.setAttribute("comboData", TagAttributeNames.COLORAT, colors);
AttributeDataBeanを利用する場合は、uji:listおよびuji:tableについても、com.fujitsu.uji.model.list.ListModelやcom.fujitsu.uji.model.TableModelの代わりに、配列を利用することができます。この時、属性名elementClass(uji:listの場合)、rowClassとcolumnClass(uji:tableの場合)を同様に利用可能です。
uji:listおよびuji:tableの属性名は、それぞれListModelインタフェースおよびTableModelインタフェースで定数として定義されています。
タグ名 関連する項目クラス、インタフェース 値の型 利用可能な属性名(*1) uji:fieldStringFieldStringFieldStringModelStringbackground、fontSize、fontStyle、fontWeight、foreground、textDecoration、tipText、editable、enabled、plain、visible、infoText、maxByteLength、maxLength、fullField、indispensableField、enableChars、enableCharType、uppercaseuji:fieldEJStringFieldStringFieldStringModelStringbackground、fontSize、foreground、enabled、plain、visible、maxLengthuji:fieldLongFieldLongFieldLongModel2longStringbackground、fontSize、fontStyle、fontWeight、foreground、textDecoration、tipText、editable、enabled、plain、visible、infoText、maxByteLength、maxLength、fullField、indispensableField、enableChars、maximumValue、minimumValueuji:fieldBigIntegerFieldBigIntegerFieldBigIntegerModel2BigIntegerStringuji:fieldDoubleFieldDoubleFieldDoubleModel2doubleStringbackground、fontSize、fontStyle、fontWeight、foreground、textDecoration、tipText、editable、enabled、plain、visible、infoText、maxByteLength、maxLength、fullField、indispensableField、enableChars、maximumValue、minimumValue、maxDecimalDigit、maxIntegerDigituji:fieldBigDecimalFieldDecimalFieldDecimalModel2BigDecimalStringuji:fieldDateFieldDateFieldDateModel2DateStringbackground、fontSize、fontStyle、fontWeight、foreground、textDecoration、tipText、editable、enabled、plain、visible、infoText、maxByteLength、maxLength、fullField、indispensableField、enableChars、locale(java.util.Locale)、timeZone(java.util.TimeZone)uji:fieldTextAreaFieldTextAreaFieldTextAreaModel2Stringbackground、fontSize、fontStyle、fontWeight、foreground、textDecoration、tipText、editable、enabled、visible、infoText、maxByteLength、maxLength、indispensableFielduji:checkBoxCheckBoxCheckBoxModelStringbackground、fontSize、fontStyle、fontWeight、foreground、textDecoration、tipText、enabled、visible、labeluji:pushButtonPushButtonPushButtonModelValuedPushButtonValuedPushButtonModel任意 (*3) uji:radioButtonRadioButtonRadioButtonModel任意 (*4) background、fontSize、fontStyle、fontWeight、foreground、textDecoration、tipText、enabled、visible、labeluji:anchorAnchorAnchorModel任意 (*3) background、fontSize、fontStyle、fontWeight、foreground、textDecoration、visible、labeluji:comboBoxComboBoxComboBoxModel2Stringvalues(Map)、colorAt(String[])、enabled、visibleuji:listBoxListBoxListBoxModel2StringString[](*2)values(Map)、colorAt(String[])、enabled、visible、multipleModeuji:buttonListButtonListButtonListModel2StringString[](*2)values(Map)、colorAt(String[])、enabled、visible、multipleModeuji:listDefaultListModelListModelObject[]elementClass(String[])uji:tableDefaultTableModelTableModelObject[][]rowClass(String[])、columnClass(String[][])
- (*1)「属性名(属性値の型)」の形式で記載しています。属性値の型が記載されていない属性は
String型で設定します。この場合、数値やboolean値を設定するものについては、java.lang.Integer型、java.lang.Boolean型などを利用することも可能で、toStringメソッドで取得できる値が利用されます。
com.fujitsu.uji.compo.TagAttributeNamesクラス等で持つ属性名の定数を利用する場合は、全て大文字で記述します。- 例) "
colorAt" →com.fujitsu.uji.compo.TagAttributeNames.COLORAT- (*2)
multipleModeがtrueの場合にはString[]で指定します。- (*3)
selectedPropertyアトリビュートを省略した場合、ボタンの値やアンカーの値は不要であるため、プロパティをデータBeanに作成する必要はありません。- (*4)
pickUpModeアトリビュートにlistまたはtableを指定した場合、ラジオボタンに対応付けるオブジェクトは不要であるため、プロパティをデータBeanに作成する必要はありません。
目次
![]()
|