[Seasar-user:2877] S2JSF ExampleV1.0.9 について

match@applie.co.jp match
2005年 11月 21日 (月) 14:24:12 JST


こんにちは。近藤と申します。

S2JSF ExampleV1.0.9のEmployee Managementでいくつか質問があります。

1.S2LongRangeValidatorについて

 検索条件画面でEmployeeNoにS2LongRangeValidatorが適用されていますが、

 a.「10000」を入力するとエラーにならない
 b.「10001」を入力すると「"empno": 入力値が最大値を超えています.'10,000'よ
り小さい値を入力して下さい.」というエラーメッセージを出力。
 
 という動きをしていますが、動作とメッセージ内容に矛盾がある感じがします。
 「10000」を許容するかどうかで変わってきますが、

 A.「10000」を入力すると「"empno": 入力値が最大値を超えています.'10,000'よ
り小さい値を入力して下さい.」というエラーメッセージを出力。
 または、
 B.「10001」を入力すると「"empno": 入力値が最大値を超えています.'10,000'以
下の値を入力して下さい.」というエラーメッセージを出力。

 の方がしっくりくるような気がします。
 (このEmployee Managementで想定されているのはおそらくAの動作だと思います)

2.その他のValidatorについて

 「m:label」を指定しているにもかかわらず、エラーメッセージ文中に「m:label」
の値が埋め込まれないものがいくつかあります。

 ・"{1}": 正しい日付/時間を入力して下さい.
 ・"{0}": 正しい値を入力して下さい.
                    等

 これらについて「m:label」の値を埋め込むためには、別途何か作業が必要なので
しょうか?

3.〜Action、〜ActionInitクラスについて

 Employee Managementでは一つの画面について〜Action、〜ActionInitの2つのク
ラスを割り当てていますがどのような理由からでしょうか?
 単純に初期化処理のみとその他のActionに分けて、管理しやすくしているだけでしょ
うか?
 それとも分けないとうまく動作しない(たとえばそれぞれのインスタンスのライフ
サイクルや呼ばれるタイミングなどが違うから等)理由があるからでしょうか?

4.Employeeクラスの「hiredate」について

 DBの型「DATE」に対するJavaの型に「java.util.Date」が使用されていたので
 JDBCのデフォルト(?)である「java.sql.Date」に変えて実行してみたのですが
 S2JSFでエラーとなりました。(S2DaoはOKのようです)

 S2JSFを使用する場合はJavaの型を「java.sql.Date」ではなく「java.util.Date」
を使用するべきなのでしょうか?
 また、その他に気をつけるべきマッピングなどはありますでしょうか?


以上、もしかしたらS2JSFではなくMyFacesの症状かもしれませんが、ご教授願います。



Seasar-user メーリングリストの案内