Strutsリファレンス(逆引き)

Strutsリファレンス
 
Web struts.wasureppoi.com
validatorのエラーメッセージに可変文字列を埋め込む
スポンサード リンク

例1 <argn>タグのkey属性にメッセージkeyを指定している場合のエラーメッセージ

validation.xmlの定義

<form-validation>
  <formset>

    <form name="RequiredForm">
      <field property="stringData" depends="required">
        <arg0 key="item.id"/>
      </field> 
    </form>

  </formset>
</form-validation>

<argn>タグn の数値は、validator-rules.xmlのルールのエラーメッセージ文字列の{n} に対応し、置き換えられます。nは0〜3まで指定可能です。
key属性には、メッセージkey、または、メッセージが直接指定されます。上記例ではメッセージkeyが指定されているのでメッセージリソース(application.properties)に登録してあるメッセージが使用されます。
  
validator-rules.xml

<form-validation>
  <global>

     <validator name="required"
           classname="org.apache.struts.validator.FieldChecks"
           method="validateRequired"
           methodParams="java.lang.Object,
                     org.apache.commons.validator.ValidatorAction,
                     org.apache.commons.validator.Field,
                     org.apache.struts.action.ActionMessages,
                     org.apache.commons.validator.Validator,
                     javax.servlet.http.HttpServletRequest"
           msg="errors.required"/>

ーーーーーーーー途中省略ーーーーーーーーーーーーーーーーーーーー

  </global>
</form-validation>

msg属性にメッセージkeyが指定されています。
  
メッセージリソース(application.properties)を抜粋

#####入力項目名#####
item.id = ユーザーID

#####入力チェックエラーメッセージ#####
errors.required = {0}は必須入力です。



上記の例1の、validation.xmlの入力チェックエラーメッセージは「ユーザーIDは必須入力です」となります。
この例では、メッセージ中の文字列の”{0}”はメッセージリソースの登録メッセージ”ユーザーID”に置き換えられています。


例2 <argn>タグのkey属性にメッセージを直接指定している場合のエラーメッセージ
validation.xmlの定義

<form-validation>
  <formset>

    <form name="RequiredForm">
      <field property="stringData" depends="required">
        <arg0 key="ユーザーID" resource="false" />
      </field> 
    </form>

  </formset>
</form-validation>


例2の、validation.xmlの入力チェックエラーメッセージは、例1と同様に「ユーザーIDは必須入力です」となります。
この例では、メッセージ中の文字列の”{0}”はkey属性で指定のメッセージ”ユーザーID”に置き換えられています。
key属性に直接メッセージを指定する場合は、resource="false"と指定すれば、メッセージリソースを検索せずに指定したメッセージを直接置き換えてくれます。

スポンサード リンク

validatorの定義(validate.xml)
validatorを使用するフォーム定義とアクション定義
validatorエラーメッセージの画面表示
validatorのエラーメッセージに<argn>タグで可変長文字列を埋め込む
validatorのエラーメッセージに<var>タグ指定の文字列を埋め込む
validatorのエラーメッセージを別のメッセージに変更する

アクションフォームへ
忘れっぽいエンジニアのJakarta Strutsリファレンス TOPへ