「変換エラーメッセージを日本語にするには」の版間の差分

提供: tknotebook
移動: 案内検索
12行: 12行:
 
  Invalid Filed Value Error for ~
 
  Invalid Filed Value Error for ~
  
と表示されてしまいます。
+
と表示されてしまいます。~はプロパティ名で、残念ながらフィールドのラベルではありません。
  
 
この文字列を変更するには、アクションクラスと同じフォルダに入るように
 
この文字列を変更するには、アクションクラスと同じフォルダに入るように
 
アクションクラス名.properties というファイルを作り
 
アクションクラス名.properties というファイルを作り
  
  invalid.firldvalue.age=数字で年齢を入れてください
+
  invalid.firldvalue.age=年齢は数字で入れてください
  
 
と入れておくと、メッセージが切り替わります。
 
と入れておくと、メッセージが切り替わります。
  
invalid.firldvalue.age の最後の部分は age はアクションクラスのプロパティ名です。
+
invalid.firldvalue.'''age''' の最後の部分は age は'''アクションクラスのプロパティ名'''です。
  
 
全ての型変換メッセージを一律に変更したい場合は
 
全ての型変換メッセージを一律に変更したい場合は
32行: 32行:
 
  xwork.default.invalid.fieldvalue=型変換エラーです。
 
  xwork.default.invalid.fieldvalue=型変換エラーです。
 
と書けば、全ての型変換のエラーメッセージは「型変換エラーです」になります。
 
と書けば、全ての型変換のエラーメッセージは「型変換エラーです」になります。
 +
 +
いずれの場合も メッセージに {0} を混ぜれば、そこのプロパティ名が表示されますが、
 +
プログラマではない利用者に見せてもあまり意味はないでしょう。面倒でもきめ細かく
 +
エラー内容を記述できる、アクションクラス名.properties というファイル を使うやり方をお勧めします。

2016年12月10日 (土) 11:35時点における版

メインページ>コンピュータの部屋#Java>Struts2 Tips


struts2 では通常、画面のバリデーションや型変換でエラーがある場合、 画面を遷移せず、画面を再表示するようにします。

この時、フォームのフィールドに型変換エラーがあると、 例えばint 型のプロパティに対し、数字でない入力を行うと、 そのフィールドの上に

Invalid Filed Value Error for ~

と表示されてしまいます。~はプロパティ名で、残念ながらフィールドのラベルではありません。

この文字列を変更するには、アクションクラスと同じフォルダに入るように アクションクラス名.properties というファイルを作り

invalid.firldvalue.age=年齢は数字で入れてください

と入れておくと、メッセージが切り替わります。

invalid.firldvalue.age の最後の部分は age はアクションクラスのプロパティ名です。

全ての型変換メッセージを一律に変更したい場合は

struts.xml に

<constant name="struts.custom.i18n.resources" value="MessageResources" /> 

または クラスパスに置いた struts.properties

struts.custom.i18n.resources=MessageResources 

を加えておいて、クラスパス内に MessageResources.properties を作り

xwork.default.invalid.fieldvalue=型変換エラーです。

と書けば、全ての型変換のエラーメッセージは「型変換エラーです」になります。

いずれの場合も メッセージに {0} を混ぜれば、そこのプロパティ名が表示されますが、 プログラマではない利用者に見せてもあまり意味はないでしょう。面倒でもきめ細かく エラー内容を記述できる、アクションクラス名.properties というファイル を使うやり方をお勧めします。