MessageResourceUtilはサーバのLocaleを見てるのか
しまった、間違ったこと言ってたなあ・・・。
SAStrutsでvalidate利用時の国際化方法がよくわからんのだが・・・。
ひとまず、こうやってみた。
public ActionMessages validate() { ActionMessages errors = new ActionMessages(); if( "".equals(manName) ) { String labelManName = MessageResourcesUtil("labels.manName"); errors.add("errors.required", new ActionMessage("errors.required")); } return errors; }
こうすると、ブラウザの言語設定を英語にした場合、
「名前 is required.」という感じで
エラーメッセージは英語に変換されるんだけど、
MessageResourceUtilで取得するところが日本語で取得されてしまう。
どうやら、MessageResourcesUtilはLocaleのdefaultLocaleを見ているようで、
サーバを立ち上げたときにja_Jaに設定されているみたい。
validatorの方はきちんと「name is required」と表示されるんだけど、
validateではどうやるんだろう?
MessageResourcesUtil以外で頑張れということか・・・?。