!!!入力チェック http://yakinikunotare.boo.jp/orebase2/sastruts/input_check http://d.hatena.ne.jp/i-takehiro/20080710/1215652817 http://ichitcltk.hustle.ne.jp/gudon/modules/pico_rd/index.php?content_id=11 !!プリセットのチェックを使う 必須チェックとかならformの該当プロパティにアノテーションで @Required public String hoge; 項目の名称を指定したいときは @Required(arg0=@Arg(key="お名前", resource=false)) などとする。 検証を実際に行うにはSAStruts/Actionでのメソッドにつけるアノテーションを @Execute(validator=true, input="hoge.jsp") このように印しておく必要がある。 inputに設定する値は、エラー時に表示する jsp を指定する。 基本的には action と同じでいいはず。 !!JavaScriptでクライアント側で入力チェックする jspでhtml:javascriptタグを使って、入力チェック用のJavaScript を自動生成する。 formName属性には、「アクション名 + Form + _ + メソッド名」を指定する。 などとして、submitボタンを create2 みたいな感じにする。 {{code HTML,
deptNo
deptName
loc
create2


list page }} !!チェック用のメソッドを作る フォームクラス class TestForm { .... public ActionMessages validate() { ActionMessages errors = new ActionMessages(); int result = Integer.parseInt(salary); if (result % 3 != 0) { errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage( "errors.custom.salary")); } return errors; } アクションクラス class TestAction { .... Execute(validate = "validate", input = "index.jsp") public String result() { return "result.jsp"; } !エラーメッセージの表示 エラーメッセージを表示するには対象のjspに のように書く。 または、アノテーションで直接指定する。 public class HogeForm implements Serializable{ private static final long serialVersionUID = 1L; @Required(arg0=@Arg(key="お名前", resource=false)) public String name; resource = false は、「application_ja.properties」に登録されている項目かを表す。 application_ja.propertiesに登録せず使用する場合は resource = false とする。 {{category2 プログラミング言語,Servlet & Struts}}