Tsutomu Yano
t_yano****@me*****
2009年 7月 3日 (金) 00:33:40 JST
矢野です。 質問への直接の解答ではないのですが...関連あるかもしれないので書いておきます。 サブミットしたあとに自画面(サブミットした元の画面ですよね?)に遷移するには「setResponsePageしない」 のが普通だと思うのですが、敢えて毎回new TestPageしているのには、特別な理由があるのでしょうか。 サンプルコードでいえば、SubmitLinkのonSubmit()でinfo()を呼んだあと、setResponsePage()も呼ばずに そのままonSubmit()を終えてしまえば、Wicketは同じページを再描画します。 もしかしたら毎回同じページをnewしていることが関係しているかもしれない、と思いました。 On 2009/07/02, at 21:44, maeda wrote: > maedaです。 > > SubmitLinkでの処理で > infoメソッドやerrorメソッドでメッセージを設定後に > setResponsePageで自画面に遷移しているのですが > > 自画面 → リンク押下 → 自画面 → リンク押下 自画面 ・・・ > > のように何度も連続でリンクを押下すると > StackOverflowErrorやOutOfMemoryErrorが発生してしまいます。 > > infoメソッドやerrorメソッドの呼出しを止めるとエラーが起きなくなるのですが > > infoメソッドやerrorメソッドの使い方等に問題があるのでしょうか? > > よろしくお願いいたします。 > > > 以下、省略したソースです。 > > public class TestPage extends AuthenticatedWebPage { > > @Inject > TestService testService; > > private TestFormBean testFormBean; > private Form form; > > static Logger log = Logger.getLogger(TestPage.class); > > /** > * > * コンストラクタ(画面表示) > * > */ > public TestPage(Long key) { > super(); > MySession mySession = (MySession) Session.get(); > > testformBean = new TestFormBean(); > > //コンポーネント作成 > form = new FormEx("test" ,new CompoundPropertyModel(testFormBean)); > this.add(form); > > //個別のコンポーネント作成 > addComponentInsUpd(form); > > //リンク等 > form.add(updateLink); > } > > /** > * > * コンポーネントを作成する。 > * > * @param Form Formクラス > */ > public void addComponentInsUpd(Form form){ > //---------------------------------------------------------- > //ここでTextField,FeedbackPanelの作成などを行っています。 > //---------------------------------------------------------- > } > > /** > * > * 更新処理 > * > */ > private SubmitLink updateLink = new SubmitLink("updateLink") { > @Override > public void onSubmit(){ > MySession mySession = (MySession) Session.get(); > > //---------------------------------------------------------- > //リンクでの処理 処理自体を全てコメントにしても特に変化なしでした。 > //---------------------------------------------------------- > > info("更新しました。"); //←これをコメントするとエラーにならない。 > setResponsePage(new TestPage(testFormBean.getKey())); > } > }; > } > > _______________________________________________ > Wicket-ja-user mailing list > Wicke****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user --------------------------------------------------- 矢野 勉(やの つとむ) 電子メール: t_yano****@me***** ---------------------------------------------------