Apcoordinator ユーザーズガイド |
目次
![]() ![]() |
第3部 Webアプリケーションの開発 | > 第16章 UJIタグを使ったプログラミング | > 16.4 コンポーネントタグを使ったプログラミング |
uji:fieldString
タグにはFieldString
クラスが対応しています。
JSPではタグをデータBeanのプロパティに関連付けて記述します。
package sample; import com.fujitsu.uji.compo.*; import com.fujitsu.uji.DataBean; public class BodyBean extends DataBean { protected FieldString strData = new FieldString(); public FieldString getStrData() { return strData; } ... }
フォームが送信されると、入力項目に入力されたデータは項目クラスに格納されます。また、画面表示時には、項目クラスが持つデータが表示されます。 このとき、表示するデータがエスケープされて出力されます。エスケープ機能については、エスケープ機能を参照してください。
<FORM> <uji:fieldString bean="body" property="strData" /> ... </FORM>
uji:label
タグには対応する項目クラスはありません。
また、フィールドタグと画面部品タグを組み合わせて使うことで、画面部品で利用したオブジェクトを引き継ぐことができます。
JSPの記述は項目クラスを利用する場合と同じです。
package sample; import com.fujitsu.uji.DataBean; public class BodyBean extends DataBean { protected String strData; public String getStrData() { return strData; } public void setStrData(String strData) { this.strData = strData; } ... }
フォームが送信されると、入力項目に入力されたデータはpropertyアトリビュートで指定したプロパティに格納されます。また、画面表示時には、プロパティの値が表示されます。 このとき、表示するデータがエスケープされて出力されます。エスケープ機能については、エスケープ機能を参照してください。
<FORM> <uji:fieldString bean="body" property="strData" /> ... </FORM>
uji:pushButton
タグ、uji:label
タグは項目に対応しません。
データBeanのプロパティ、タグのプロパティ指定は必要ありません。
項目クラスの代わりにデータBeanで使用できる型は、 String、boolean、byte、char、int、long、float、double、BigDecimal、BigInteger です。
<FORM> <uji:pushButton name="OK" /> ... </FORM>
uji:fieldDate
タグでは、さらにDate型も使用できます。
これらの型を使用した場合、Webcoordinatorが型を判定し、フォームに入力されたデータを自動変換します。自動変換できない場合は、初期値(null、ゼロ)がデータBeanに設定されます。
文字色など設定の一部は、項目クラスのプロパティで変更できます。 項目クラスで指定した内容はタグのアトリビュートよりも優先されます。
<FORM> <uji:fieldString bean="body" property="strData" width="120" height="40" background="yellow" foreground="blue" borderWidth="3" fontSize="12pt" /> ... </FORM>
項目クラスを使用しない場合の指定方法は、外付け属性の利用を参照してください。
dataBean.getStrData().setForeground("red");
入力データは一般的な形式は自動的に変換されます。 例として、整数フィールドでは"-1234"、"\2,000"のような文字列は自動変換します。
<FORM> <uji:fieldLong bean="body" property="longData" outputFormat="\\#,##0" /> ... </FORM>
package sample; import java.text.*; import com.fujitsu.uji.compo.*; public class MyFieldDate extends FieldDate { // 入力文字列originalを一般形に変換する public String parse(String original) { try { SimpleDateFormat formatter = new SimpleDateFormat("yyMMdd"); return formatter.parse(text).toString(); } catch(Exception e) { return "0000/01/01"; // エラー用の値 } } }
... 表示前 dataBean.getLongData().setMinimumValue(0); dataBean.getLongData().setMaximumValue(100); ... 入力後 if(dataBean.getLongData().getErrorCode() != FieldLong.NO_ERROR) { ... エラー }
uji:form
タグと併用することにより、チェックのためのJavaScriptコードを自動生成します。
送信時にチェックを実行し、エラーの場合、ブラウザ画面にメッセージを表示します。
<uji:form name="myform"> <uji:fieldLong bean="body" property="longData" minimumValue="0" maximumValue="100" /> ... </uji:form>
最大入力文字数を設定して入力文字数をチェックする場合、 補助文字の数え方を初期化パラメタuji.taglib.awareOfSupplementaryChar
で設定できます。詳細は初期化パラメタを参照してください。
目次
![]() ![]() |