WICKET-5509 Wicket examples' MailTemplate from Page is broken Render the page directly without using PageRenderer.
(cherry picked from commit 1772dd88bdbadc848ee74b5dc665b0e419836ff2) Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/af7d79ba Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/af7d79ba Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/af7d79ba Branch: refs/heads/sandbox/component-queueing-2 Commit: af7d79ba88d623e9d91e47ae383149a01f49d2f1 Parents: efb0d45 Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Mon Feb 17 12:32:07 2014 +0200 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Mon Feb 17 12:33:27 2014 +0200 ---------------------------------------------------------------------- .../wicket/core/util/string/ComponentRenderer.java | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/af7d79ba/wicket-core/src/main/java/org/apache/wicket/core/util/string/ComponentRenderer.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/core/util/string/ComponentRenderer.java b/wicket-core/src/main/java/org/apache/wicket/core/util/string/ComponentRenderer.java index a5582d2..c5e35eb 100644 --- a/wicket-core/src/main/java/org/apache/wicket/core/util/string/ComponentRenderer.java +++ b/wicket-core/src/main/java/org/apache/wicket/core/util/string/ComponentRenderer.java @@ -19,8 +19,8 @@ package org.apache.wicket.core.util.string; import org.apache.wicket.Application; import org.apache.wicket.Component; import org.apache.wicket.MarkupContainer; +import org.apache.wicket.ThreadContext; import org.apache.wicket.core.request.handler.PageProvider; -import org.apache.wicket.core.request.handler.RenderPageRequestHandler; import org.apache.wicket.markup.IMarkupCacheKeyProvider; import org.apache.wicket.markup.IMarkupResourceStreamProvider; import org.apache.wicket.markup.MarkupNotFoundException; @@ -29,7 +29,6 @@ import org.apache.wicket.protocol.http.BufferedWebResponse; import org.apache.wicket.request.Response; import org.apache.wicket.request.cycle.RequestCycle; import org.apache.wicket.request.cycle.RequestCycleContext; -import org.apache.wicket.request.handler.render.PageRenderer; import org.apache.wicket.util.resource.IResourceStream; import org.apache.wicket.util.resource.StringResourceStream; @@ -48,11 +47,7 @@ public class ComponentRenderer */ public static CharSequence renderPage(final PageProvider pageProvider) { - final RenderPageRequestHandler handler = new RenderPageRequestHandler(pageProvider, - RenderPageRequestHandler.RedirectPolicy.NEVER_REDIRECT); - Application application = Application.get(); - final PageRenderer pageRenderer = application.getPageRendererProvider().get(handler); RequestCycle originalRequestCycle = RequestCycle.get(); @@ -62,16 +57,14 @@ public class ComponentRenderer tempResponse, application.getRootRequestMapper(), application.getExceptionMapperProvider().get()); RequestCycle tempRequestCycle = new RequestCycle(requestCycleContext); - final Response oldResponse = originalRequestCycle.getResponse(); - try { - originalRequestCycle.setResponse(tempResponse); - pageRenderer.respond(tempRequestCycle); + ThreadContext.setRequestCycle(tempRequestCycle); + pageProvider.getPageInstance().renderPage(); } finally { - originalRequestCycle.setResponse(oldResponse); + ThreadContext.setRequestCycle(originalRequestCycle); } return tempResponse.getText();
