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

4.4 uji:input

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

基本機能

uji:inputタグは、クライアントスクリプトを使用する場合に、HTMLのINPUTタグの代わりに使用します。

アトリビュート

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

アトリビュート名

省略

意味

省略時の動作

extProps

アトリビュートを追加する場合に指定します。

何も追加しません。

bean

name、valueの値を設定するためのデータBeanのJSP変数名を指定します。name、valueアトリビュートを直接記述した場合は、記述が優先となります。

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

property

name、valueの値を設定するデータBeanのプロパティ名を指定します。name、valueアトリビュートを直接記述した場合は、記述が優先となります。

bean指定時は省略できません。bean、property両方省略時は、画面部品タグのカレントオブジェクトを使用します。

以下のアトリビュートはHTMLのINPUTタグと同様に使用します。

style、title、lang、dir、type、name、value、checked、disabled、readonly、size、maxlength、src、alt、usemap、ismap、tabindex、accesskey、accept

これ以外のアトリビュートを指定する場合にはextPropsアトリビュートを使用します。
アトリビュートの省略記法は使えません。以下のように完全形を指定します。

<uji:input readonly="readonly" >

name、valueアトリビュートを省略した場合は、それらの値がbean、propertyアトリビュートに従って以下のように設定されます。

bean指定

property指定

nameの値

valueの値

省略

あり

カレントオブジェクトのプロパティのうちpropertyで指定されたものを更新するための入力項目名

カレントオブジェクトのプロパティのうちpropertyで指定された値

省略

省略

カレントオブジェクトを更新するための入力項目名

カレントオブジェクトの値

あり

あり

beanとpropertyで指定されたプロパティを更新するための入力項目名

beanとpropertyで指定されたプロパティの値

あり

省略

bean指定時にはpropertyは省略できません。

コンテント

uji:inputタグのコンテントにはuji:action、uji:validateタグを記述します。

使用例

JSP

<uji:form name="myform" beanId="body" beanCls="sample.BodyBean" verbs="ok,cancel">
    <uji:input name="value1" >
        <uji:validate event="..submit" type="int" minInclusive="0">
            alert("0以上の整数を指定してください");
        </uji:validate>
    </uji:input>
    ...
</uji:form>

プロパティ値で初期化する場合には、bean、propertyアトリビュートを使用します。

誤:<uji:input value="<uji:getProperty bean='body' property='prop' />" > ..
誤:<uji:input value="<jsp:getProperty name='body' property='prop' />" > ..
正:<uji:input bean="body" property="prop" > ..

XML連携機能

uji:inputタグは、クライアントスクリプトを使用する場合に、HTMLのINPUTタグの代わりに使用します。

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

アトリビュート

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

アトリビュート名

省略

意味

省略時の動作

bean

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

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

property

name、valueの値を設定する要素をルート要素の子要素名で指定します。(*)

name、valueアトリビュートを設定しません。(**)

xpath

name、valueの値を設定する要素をルート要素からの相対パスで指定します。(*)

name、valueアトリビュートを設定しません。(**)

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

(**)beanアトリビュートを指定した場合は、propertyまたはxpathいずれかの指定が必要です。

XMLデータの構造

propertyまたはxpathには単純要素を指定します。要素の内容に改行が含まれる場合、改行の直前までが使用されます。要素の集合を指定した場合の動作は“7.4.3 要素や属性の集合を指定した場合の動作”を参照してください。

使用例

XML

<root>
  <data>500</data>
</root>

JSP

<uji:form name="myform">
  <uji:input bean="body" xpath="data" >
    <uji:validate event="..submit" type="int" minInclusive="0">
      alert("0以上の整数を指定してください");
    </uji:validate>
  </uji:input>
  ...
</uji:form>

イベントモデル

uji:inputタグは、クライアントスクリプトを使用する場合に、HTMLのINPUTタグの代わりに使用します。

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

アトリビュート

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

アトリビュート名

省略

意味

省略時の動作

bean

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

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

property

managed beanのプロパティ名を指定します。

bean指定時は省略できません。
bean、property両方省略時は、画面部品タグのカレントオブジェクトを使用します。

validator

バリデータメソッドをメソッドバインディング式で指定します。

バリデータを使用しません。

converter

コンバータをコンバータIDもしくはバリューバインディング式で指定します。

コンバータを使用しません。

valueChangeListener

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

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

immediate

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

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

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

false

id

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

自動的に付与されます。

コンテント

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

  • uji:action(0個以上)

  • uji:validate(0個以上)

  • f:validator(0個以上)

  • f:converter(最大1個)

  • f:valueChangeListener(0個以上)

使用例

JSP

<f:view>
  <uji:form name="myform" method="post">
    <uji:input bean="myBean" property="prop1" immediate="true" validator="#{myBean.validate}" />
    <uji:input bean="myBean" property="prop2" valueChangeListener="#{myBean.valueChanged}" />

    <uji:pushButton label="送信" />
  </uji:form>
</f:view>
注意事項
  • uji:inputタグでバリデータを利用する場合、バリデータに渡されるオブジェクトの型はjava.lang.Stringです。

  • uji:inputタグでコンバータを利用する場合、getAsStringメソッドに渡される第3引数の型や、getAsObjectで返却するオブジェクトの型は、Beanのプロパティの型です。