Updated Branches: refs/heads/wicket-6.x 1cc56f56a -> 3fca3415b
WICKET-5471 Store the page if it is known that it will be used in a following request Better fix. The page will be touched (i.e. stored). But it won't be initialized unless really used because setStatelessHint(false) is called as well. Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/3fca3415 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/3fca3415 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/3fca3415 Branch: refs/heads/wicket-6.x Commit: 3fca3415b46af58591463c7a1c8843c0e9f894ac Parents: 1cc56f5 Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Wed Jan 15 10:10:27 2014 +0200 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Wed Jan 15 10:10:27 2014 +0200 ---------------------------------------------------------------------- wicket-core/src/main/java/org/apache/wicket/Page.java | 3 ++- .../java/org/apache/wicket/request/cycle/RequestCycle.java | 8 +++++--- 2 files changed, 7 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/3fca3415/wicket-core/src/main/java/org/apache/wicket/Page.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/Page.java b/wicket-core/src/main/java/org/apache/wicket/Page.java index a439115..d3f8495 100644 --- a/wicket-core/src/main/java/org/apache/wicket/Page.java +++ b/wicket-core/src/main/java/org/apache/wicket/Page.java @@ -967,7 +967,8 @@ public abstract class Page extends MarkupContainer implements IRedirectListener, { setStatelessHint(false); - internalInitialize(); + // make sure the page will be available on following request + getSession().getPageManager().touchPage(this); return new PageReference(numericId); } http://git-wip-us.apache.org/repos/asf/wicket/blob/3fca3415/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java b/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java index c754b56..561fce7 100644 --- a/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java +++ b/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java @@ -656,10 +656,12 @@ public class RequestCycle implements IRequestCycle, IEventSink { if (page instanceof Page) { - Page _page = (Page) page; - _page.setStatelessHint(false); - _page.internalInitialize(); + ((Page) page).setStatelessHint(false); } + + // make sure the page will be available on following request + Session.get().getPageManager().touchPage(page); + scheduleRequestHandlerAfterCurrent(new RenderPageRequestHandler(new PageProvider(page), RenderPageRequestHandler.RedirectPolicy.AUTO_REDIRECT)); }
