[Seasar-user:21518] Re: バリデート処理でインターセプターが後に実行されてしまいます。

清水修一 [E-MAIL ADDRESS DELETED]
2012年 12月 5日 (水) 19:59:47 JST


吉田(@zephiransas)様

追記していただきありがとうございます。
無事出来ました。
念のためソースも記載致します。
「素直に実装」勉強になりました。ありがとうございます。

・IndexAction
--------------------------------------
import java.util.LinkedHashMap;
import java.util.Map;

import javax.annotation.Resource;

import org.seasar.struts.annotation.ActionForm;
import org.seasar.struts.annotation.Execute;

import errsample2.form.ValidatorForm;


public class IndexAction {


@ActionForm
@Resource
protected ValidatorForm validatorForm;


//IndexActionにドロップボックスの値をセットするフィールドを宣言する
public Map<String, Integer>carSizeMap;


    @Execute(validator = false)
public String index() {


    return initSize();

}

    @Execute(validator = false)
public String initSize() {

    //試しに配列にいれてみる。
    carSizeMap = new LinkedHashMap<String, Integer>();
    carSizeMap.put("テスト1", new Integer(1));
carSizeMap.put("テスト2", new Integer(2));
carSizeMap.put("テスト3", new Integer(3));

    return "index.jsp";
}

    @Execute(validator = true, input = "initSize")
    public String insert() {

        return "index.jsp";
    }

}

・index.jsp
--------------------------------------
<%@page pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset=UTF-8">

<title>新規登録</title>
</head>

<body>

<p>登録データ</p>

<html:errors />

<s:form>
<table>
<tr>
<td>
サイズ
</td>

<td>
<html:text property="TestText"></html:text>
</td>
</tr>
</table>
<input type="submit" name="insert" value="サブミット"/>
</s:form>
</body>
</html>

・ValidatorForm
-------------------------------------------------

import org.seasar.struts.annotation.Required;


public class ValidatorForm {

@Required
public String TestText;

public String bodySizeId = "";


}

2012年12月4日 15:50 Takafumi Yoshida <yoshida @ optics-net.com>:

> 吉田(@zephiransas)
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20121205/883ad1d6/attachment.html>


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