1. 無料アクセス解析

crossroad's Blog

Javaを中心にした技術ネタなど。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

S2Strutsのアノテーションによるバリデーションでエラーメッセージ表示が正しく処理されない

S2StrutsのVALIDATIONアノテーションを使って、
フォームBean(DTO)の入力チェックを行なう場合。。。

 --- HogeDto.java ---------------------------------
 1:public class HogeDto implements Serializable {
 2: private String name;
 3: public static final String name_VALIDATOR_0 = "required";
 4: public static final String name_VALIDATOR_ARGS = "keys=name, resource=true";
 5:
 n: /* 以下略 */
 --------------------------------------------------

な感じに定数アノテーションを書きます。
(JavaSE5.0のアノテーションを使わない場合。詳細はこちらこちら

これでハマりました。

4行目のxxx_VALIDATION_ARGSでは、
 ・keys・・・入力エラーメッセージのプレースホルダを置換する文字列。
       次のresourceがtrueの場合はメッセージリソースのキー名、
       falseの場合は指定した文字列そのものが使用される。
 ・resource・・・メッセージリソースを使用する(true)か、しないか(false)


を指定します。

上記例の場合、
 --- ApplicationResources.properties ----------------
 errors.required = {0}は入力必須です。
 name = 名前
 ----------------------------------------------------
 ※実際は、native2asciiでUnicodeエンコーディングが必要です。

のようなメッセージリソースと組み合わせることで、入力エラー時には
「名前は入力必須です。」と言うメッセージが表示されるはずなのですが、
「nameは入力必須です。」と表示され、nameが名前に変換されません。

あれこれ調べた結果、S2Strutsのドキュメントによると、resourceは省略可能で
省略時はtrueとあるのですが、実際は省略するとfalse扱いになる
ようです。

メッセージの置換文字列をメッセージリソースに定義した場合は、
resource=trueを明示的に書く
必要があります。
関連記事
スポンサーサイト

テーマ:JAVA - ジャンル:コンピュータ

  1. 2006/09/26(火) 21:02:43|
  2. ソフトウェア開発 Seasar
  3. | トラックバック:0
  4. | コメント:2
<<S2StrutsのAutoStrutsConfigRegisterPluginの定義順に注意 | ホーム | iPod対応カーステレオ>>

コメント

ご対応ありがとうございます

このような辺境(?)のブログの記事にご対応・ご連絡頂き恐縮です。
ありがとうございました。

P.S.
 S2Strutsですが、使ってみて非常に便利ですね。
 無設定Strutsは特にありがたいです。
  1. URL |
  2. 2006/10/04(水) 00:40:03 |
  3. crossroad #-
  4. [ 編集]

ARGS定数アノテーションの resourceのデフォルト値がfalseとなってるのは、S2Strutsのバグです。m(_ _)m
修正しコミットしました。
ご指摘ありがとうございます。

  1. URL |
  2. 2006/10/03(火) 22:00:19 |
  3. kanag #-
  4. [ 編集]

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://bagineer.blog59.fc2.com/tb.php/42-38552ad1
この記事にトラックバックする(FC2ブログユーザー)

プロフィール

crossroad

Author:crossroad
関西在住。男。
フリーランスのソフトウェアエンジニア。
エレキベース(Rock&Roll)とお酒が好物でございます。

カテゴリー

タグリスト

Java F1 フリーランス ベーシスト HARRY TheStreetSliders iPhone FX お酒 Seasar Maven eclipse Wicket マイホーム 野球 プロジェクトファシリテーション Rails Ruby UML お店 ソフトウェア Tomcat S2Flex2 jsf Teeda Eclipse タグライブラリ ajax タスク europa mylyn trac 

ブログ内検索

最近の記事

最近のコメント

最近のトラックバック

カレンダー

07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -

月別アーカイブ

全ての記事を表示する

全ての記事を表示する

Twitter


RSSフィード

リンク

このブログをリンクに追加する

アクセスカウンタ

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。