昨日書いた、「S2JSFで、初期処理(initialize)を2回以上呼びたくないのです」について。
http://d.hatena.ne.jp/wataka/20060703#1151919023
id:shot6 さまに解決していただきました!
※同じことで困っていた方にググって欲しいとの願いを込めて...
S2JSFでポストバックを判定できるようになりました。
S2JSFでpostbackを判定できるようになりました。
S2JSFでASP.NETのIsPostbackみたいなことができるようになりました。
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)
ダウンロードは、S2JSFをWebSVNから参照することで可能です。
■S2JSFのSVNリポジトリルート
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