[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 メーリングリストの案内