[Seasar-user:17676] [SAStrutsAOS]ValidatorForm、ValidatorActionFormの項目名が反映されない

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2009年 6月 10日 (水) 15:47:23 JST


岡内です。

SAStrutsAOSを使って、既存StrutsプロジェクトのSAStruts化を進めていますが、
ValidatorForm、ValidatorActionFormを使った検証を行ったとき、
検証にひっかかったときのメッセージが正しく表示できないようです。

たとえば次のような場合です。

●ActionForm

public class SampleActionForm extends ValidatorForm
{
      private static final long serialVersionUID = 1L;
      public String hoge;

      public String getHoge()
      {
            return this.hoge;
      }

      public void setHoge(String hoge)
      {
            this.hoge = hoge;
      }
}

●struts-config.xml(一部抜粋)

 ・・・
      <form-bean name="SampleActionForm" type="SampleActionForm"/>
 ・・・
      <action path="/Sample"
                  type="SampleAction"
                  name="SampleActionForm"
                  validate="true"
                  scope="request"
                  input="/index.jsp">
            <forward name="success" path="/index.jsp"/>
      </action>
 ・・・
      <message-resources parameter="application"
                   factory=
"org.seasar.struts.util.S2PropertyMessageResourcesFactory"/>

●validation.xml(一部抜粋)

<form name="SampleActionForm">
      <field property="hoge" depends="required">
            <arg0 key="labels.hoge"/>
      </field>
</form>

●application_ja.properties

errors.required={0}は必須です。
labels.hoge=ほげ


ActionFormのhogeプロパティが必須となっており、検証にひっかかった場合は
「ほげは必須です。」と表示されるはずですが、実際にやってみると
「{0}は必須です。」と画面に表示され、プロパティファイルのlabels.hogeを取得
できていないようです。

ValidatorActionFormを使った場合も同じ現象になりました。

なお、struts-config.xmlのcontroller,message-resouces,pluginの箇所をStruts標
準の設定にして
動作確認したところ、問題なく「ほげは必須です。」と表示されました。

ご確認いただきたくお願いいたします。


Seasar-user メーリングリストの案内