[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 メーリングリストの案内