2

状況によっては、Wicket ページへのリクエストをサーバー側の別の Wicket ページに渡す必要があります。つまり、ブラウザのアドレス バーに URL を維持しながら、ページ パラメータを 2 番目のページに渡す必要があります。

Wicket 1.5 より前は、

public MyPage(PageParameters params) {
    // some logic here to decide whether and where to forward
    setRedirect(false);
    setResponsePage(MyOtherPage.class, params);
}

setRedirect(boolean)もはや存在しないため、後のバージョンの Wicket でサーバー側の転送を実現する方法はありますか?

4

3 に答える 3

2

同僚がここで解決策を見つけました:http: //mail-archives.apache.org/mod_mbox/wicket-users/201203.mbox/%3CCAMomwMr2fkO38E3d9RTk5TEmuf0Vx66F46F8eYs84Bb3bVtPgA@mail.gmail.com%3E

今では:

RequestCycle.get().scheduleRequestHandlerAfterCurrent(new RenderPageRequestHandler(new PageProvider(MyOtherPage.class, params), RenderPageRequestHandler.RedirectPolicy.NEVER_REDIRECT));

怖いコードは...まったくエレガントに見えませんが、機能します。

于 2012-10-18T15:24:14.807 に答える
1

あなたは簡単にできるはずです:

throw new RestartResponseException(MyOtherPage.class, params);
于 2015-07-06T21:01:46.880 に答える