基本機能
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.6.1 使用するXML要素の指定方法”を参照してください。
(**)beanアトリビュートを指定した場合は、propertyまたはxpathいずれかの指定が必要です。
propertyまたはxpathには単純要素を指定します。要素の内容に改行が含まれる場合、改行の直前までが使用されます。要素の集合を指定した場合の動作は“7.6.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指定時は省略できません。 |
validator | 可 | バリデータメソッドをメソッドバインディング式で指定します。 | バリデータを使用しません。 |
converter | 可 | コンバータをコンバータIDもしくはバリューバインディング式で指定します。 | コンバータを使用しません。 |
valueChangeListener | 可 | バリューチェンジリスナメソッドをメソッドバインディング式で指定します。 | バリューチェンジリスナメソッドを使用しません。 |
immediate | 可 | 値の変換と検証を処理するフェーズを指定します。
| 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のプロパティの型です。