Great work!

You should put this on the Wiki :-)


Am 05.11.2008 um 11:22 schrieb Jörn Zaefferer:

No voodoo neccessary, got it working:

protected String renderPage(Class<? extends Page> pageClass,
PageParameters pageParameters) {

                //get the servlet context
                WebApplication application = (WebApplication) 
WebApplication.get();

                ServletContext context = application.getServletContext();

                //fake a request/response cycle
                MockHttpSession servletSession = new MockHttpSession(context);
                servletSession.setTemporary(true);

                MockHttpServletRequest servletRequest = new 
MockHttpServletRequest(
                                application, servletSession, context);
MockHttpServletResponse servletResponse = new MockHttpServletResponse(
                                servletRequest);

                //initialize request and response
                servletRequest.initialize();
                servletResponse.initialize();

                WebRequest webRequest = new ServletWebRequest(servletRequest);

BufferedWebResponse webResponse = new BufferedWebResponse(servletResponse);
                webResponse.setAjax(true);

                WebRequestCycle requestCycle = new WebRequestCycle(
                                application, webRequest, webResponse);

                requestCycle.setRequestTarget(new
BookmarkablePageRequestTarget(pageClass, pageParameters));

                try {
                        requestCycle.getProcessor().respond(requestCycle);

                        log.warn("Response after request: 
"+webResponse.toString());

                        if (requestCycle.wasHandled() == false) {
                                requestCycle.setRequestTarget(new 
WebErrorCodeResponseTarget(
                                                
HttpServletResponse.SC_NOT_FOUND));
                        }
                        requestCycle.detach();

                } finally {
                        requestCycle.getResponse().close();
                }

                return webResponse.toString();
        }

Does it make sense to put this in a ticket to request it for Wicket 1.5?

Jörn

On Tue, Nov 4, 2008 at 5:55 PM, Martijn Dashorst
<[EMAIL PROTECTED]> wrote:
Are you in New Orleans in some voodoo bar? Why not join us at ApacheCon? :)

Martijn

On Tue, Nov 4, 2008 at 10:43 AM, Igor Vaynberg <[EMAIL PROTECTED] > wrote:
without seeing your code we have to resort to waving a dead chicken in
front of our screens or making swags.

-igor

On Tue, Nov 4, 2008 at 9:19 AM, Jörn Zaefferer
<[EMAIL PROTECTED]> wrote:
Hi,

I've found this article on how to render a page to a String:
http://www.danwalmsley.com/2008/10/21/render-a-wicket-page-to-a-string-for-html-email/

It seemed to be exactly what I was looking for. Copying the code into
my app, I got a compiler error on the line where the WebRequest is
created. Using the constructor to ServletWebRequest helped.

Nonetheless, I get only an empty string back, no clue whats going wrong.

I'm using Wicket 1.3.5.

Any ideas?

Jörn


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





--
Become a Wicket expert, learn from the best: http:// wicketinaction.com
Apache Wicket 1.3.4 is released
Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to