画面編集
すべてのエラーメッセージを表示する場合
例) <html:errors />
この表記がある箇所にそのページのエラーがすべて表示される。
例) <html:messages id="msg" message="true">
<bean:write name="msg" ignore="true"/>
</html:messages>
こちらが使われることもあるかもしれないので抑えておく。
個別のエラーメッセージを表示する場合
例) <html:errors header="false" footer="false" property="userId" />
userIdがエラーの場合、この行がある個所にエラーを表示する。
エラーメッセージをリソースファイルに登録
例) application-message.properties
errors.numericNumber={0}には数値で入力してください。
errors.maxLength={0}には{1}文字以下で入力してください。
※)リソースファイルの位置をstruts-config.xmlに記入する。
例) <message-resources parameter="~~.ApplicationResources"/>
フォームBeanに検証ロジックを持たせる
フォームBeanを作成する
package shiten.struts;
import org.apache.struts.action.*;
import org.apache.struts.validator.ValidatorForm;
import javax.servlet.http.*;
public class ShitenEditC1Form extends ValidatorForm {
public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
ActionErrors errors = new ActionErrors();
if (shitenCode == null || shitenCode.trim().equals("")) {
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("error.shitenCode.required"));
}
return errors;
}
}
フォームBeanを ActionFormではなく、org.apache.struts.validator.ValidatorForm を継承して作成します。継承したクラスには、オーバーライドメソッド validate()を記述します。このクラスはチェックが正常に終了したら要素を持たないActionErrorsオブジェクトを、エラーが発生したらその内容を説明するActionErrorオブジェクトを含む ActionErrorsオブジェクトを返すように書きます。
struts-config.xmlのActionマッピングを設定
<action-mappings>
<action path="/ShitenEditC1" type="shiten.struts.ShitenEditC1Action"
attribute="ShitenEditC1Form" name="ShitenEditC1Form"
scope="request" validate="true" input="/ShitenEditC1.
jsp">
<forward name="retry" path="/ShitenEditC1.jsp"/>
<forward name="success" path="/ShitenEditC2.jsp"/>
</action>
最終更新:2010年10月26日 10:04