Updated Branches: refs/heads/master 26a356a7c -> 12e22707d
WICKET-4286 always freeze page id when rendering the page Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/12e22707 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/12e22707 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/12e22707 Branch: refs/heads/master Commit: 12e22707dab7fab2b67fbe50e8f24de33a1ade5a Parents: 26a356a Author: Igor Vaynberg <ivaynb...@apache.org> Authored: Wed Apr 25 14:03:40 2012 -0700 Committer: Igor Vaynberg <ivaynb...@apache.org> Committed: Wed Apr 25 14:15:30 2012 -0700 ---------------------------------------------------------------------- .../src/main/java/org/apache/wicket/Page.java | 28 +++++--------- .../FeedbackIndicatorFormPage_result2.html | 2 +- 2 files changed, 11 insertions(+), 19 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/12e22707/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 e739e87..1a8638f 100644 --- a/wicket-core/src/main/java/org/apache/wicket/Page.java +++ b/wicket-core/src/main/java/org/apache/wicket/Page.java @@ -23,6 +23,7 @@ import java.util.List; import java.util.Set; import org.apache.wicket.authorization.UnauthorizedActionException; +import org.apache.wicket.core.util.lang.WicketObjects; import org.apache.wicket.markup.MarkupException; import org.apache.wicket.markup.MarkupStream; import org.apache.wicket.markup.MarkupType; @@ -36,9 +37,7 @@ import org.apache.wicket.request.cycle.RequestCycle; import org.apache.wicket.request.mapper.parameter.PageParameters; import org.apache.wicket.settings.IDebugSettings; import org.apache.wicket.settings.IPageSettings; -import org.apache.wicket.settings.IRequestCycleSettings.RenderStrategy; import org.apache.wicket.util.lang.Generics; -import org.apache.wicket.core.util.lang.WicketObjects; import org.apache.wicket.util.string.StringValue; import org.apache.wicket.util.visit.IVisit; import org.apache.wicket.util.visit.IVisitor; @@ -281,16 +280,12 @@ public abstract class Page extends MarkupContainer implements IRedirectListener, } final IPageManager pageManager = getSession().getPageManager(); - if (!getFlag(FLAG_IS_DIRTY) && - ( - isVersioned() && pageManager.supportsVersioning() || - - // we need to get pageId for new page instances even when the page doesn't need - // versioning, otherwise pages override each other in the page store and back button - // support is broken - isInitialization - ) - ) + if (!getFlag(FLAG_IS_DIRTY) && (isVersioned() && pageManager.supportsVersioning() || + + // we need to get pageId for new page instances even when the page doesn't need + // versioning, otherwise pages override each other in the page store and back button + // support is broken + isInitialization)) { setFlag(FLAG_IS_DIRTY, true); setNextAvailableId(); @@ -1017,11 +1012,8 @@ public abstract class Page extends MarkupContainer implements IRedirectListener, @Override public void renderPage() { - if (getApplication().getRequestCycleSettings().getRenderStrategy() != RenderStrategy.REDIRECT_TO_BUFFER) - { - // don't increment page id for redirect to render and one pass render during rendering - setFreezePageId(true); - } + // page id is frozen during the render + final boolean frozen = setFreezePageId(true); try { ++renderCount; @@ -1029,7 +1021,7 @@ public abstract class Page extends MarkupContainer implements IRedirectListener, } finally { - setFreezePageId(false); + setFreezePageId(frozen); } } http://git-wip-us.apache.org/repos/asf/wicket/blob/12e22707/wicket-core/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage_result2.html ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage_result2.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage_result2.html index 9173c87..3a45a23 100644 --- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage_result2.html +++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage_result2.html @@ -1,6 +1,6 @@ <html> <body> -<form wicket:id="form" id="form1" method="post" action="../page?1-2.IFormSubmitListener-form"><div style="width:0px;height:0px;position:absolute;left:-100px;top:-100px;overflow:hidden"><input type="hidden" name="form1_hf_0" id="form1_hf_0" /></div> +<form wicket:id="form" id="form1" method="post" action="../page?0-2.IFormSubmitListener-form"><div style="width:0px;height:0px;position:absolute;left:-100px;top:-100px;overflow:hidden"><input type="hidden" name="form1_hf_0" id="form1_hf_0" /></div> <input type="text" wicket:id="input" value="" name="input"> <span wicket:id="feedback"><wicket:panel><span style="color:red;">*</span></wicket:panel></span> </form>