[Seasar-user:13156] [teeda] Pageスコープを設定したフィールドにdo〜()でnullをセットした場合の挙動について

Mitsutaka Sato [E-MAIL ADDRESS DELETED]
2008年 3月 5日 (水) 17:26:15 JST


佐藤と申します。
いつもお世話になっております。

Pageスコープを設定したフィールドにdo〜()でnullをセットした場合に、prerenderが呼び出される前にnullの前の値に戻されてしまうという
事象があるようなので報告します。

■HTML
<body>
<form id="hogeForm">
<span id="fuga">ふが</span>
<input type="submit" id="doAction" value="BigDecimalをnullに" />
<input type="button" value="ajax" onclick="doajax()"/>

<select id="aaa">
<option>選択してください</option>
</select>

<select id="bbb">
<option>選択してください</option>
</select>

</form>
</body>

■Pageクラス
public class HogePage {

    private static final Log log = LogFactory.getLog(HogePage.class);

    @PageScope
    public BigDecimal fuga;
    public String aaa;
    public String bbb;
    public String ccc;


    public Class initialize() {


        fuga = new BigDecimal("11.2");

        log.debug("init:" + fuga);
        return null;
    }

    public Class prerender() {

        log.debug("prerender:" + fuga);
        return null;
    }

    public Class doAction() {

        fuga = null;

        log.debug("doAction:" + fuga);
        return null;
    }
}

【発見した事象】
1. hoge.htmlにアクセスすると、fugaに11.2がセットされる。
2. doActionのボタンを押すと、 fugaがnullになるはずが、あいかわらず11.2が表示される。
⇒ログでは doActionメソッドの終了時はfuga=null, prerenderの終了時は fuga=11.2になっている。

teeda-1.0.11-sp1 です。
よろしくお願いします。
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: http://ml.seasar.org/archives/seasar-user/attachments/20080305/8975979b/attachment-0001.html 


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