昨日書いた、「S2JSFで、初期処理(initialize)を2回以上呼びたくないのです」について。

http://d.hatena.ne.jp/wataka/20060703#1151919023

id:shot6 さまに解決していただきました!

※同じことで困っていた方にググって欲しいとの願いを込めて...
S2JSFポストバックを判定できるようになりました。
S2JSFpostbackを判定できるようになりました。
S2JSFASP.NETIsPostbackみたいなことができるようになりました。


HogeEditInitActionについてはこんな感じで書けば解決できます。
boolean postback を変数に入れます。

■HogeEditInitAction
private HogeDto hogeDto;

private boolean postback = false;

public boolean isPostback() {
return postback;
}

public void setPostback(boolean postback) {
this.postback = postback;
}

public String initialize() {
if (postback == false) {
//初回アクセス時のみ。2回目以降のアクセス(ポストバック)では不要な処理
hogeDto.setDate("20060703"); //今日の日付を自動でセット
} else {
//ポストバック時でも必要な処理
//...
}
return null;
}

まだbranches扱いになります。(s2jsf-1.0.14)
ダウンロードは、S2JSFWebSVNから参照することで可能です。

S2JSFSVNリポジトリルート
http://www.seasar.org/websvn/listing.php?repname=s2jsf&path=%2F&sc=0

■今回修正頂いたs2-jsf-1.0.14.jarへの直接リンク
http://www.seasar.org/websvn/filedetails.php?repname=s2jsf&path=%2Fbranches%2Fs2jsf-example-1.0.x%2FWEB-INF%2Flib%2Fs2-jsf-1.0.14.jar&rev=0&sc=1