that should do it for most cases. you might want to give wickettester the actual application object also.
-igor On Wed, Nov 5, 2008 at 9:26 AM, Peter Ertl <[EMAIL PROTECTED]> wrote: > So would this be ok ?! > > (caution! untested!) > > > try > { > final String html = Executors.newSingleThreadExecutor().submit(new > Callable<String>() > { > public String call() throws Exception > { > final WicketTester tester = new WicketTester(); > tester.startPage(MyPage.class); > return new String(tester.getServletResponse().getBinaryContent(), > tester.getServletResponse().getCharacterEncoding()); > } > }).get(); > } > catch (InterruptedException e) > { > e.printStackTrace(); > } > catch (ExecutionException e) > { > e.printStackTrace(); > } > > > > > > > Am 05.11.2008 um 18:18 schrieb Igor Vaynberg: > >> you still have to do it in a separate thread :) >> >> -igor >> >> On Wed, Nov 5, 2008 at 9:14 AM, Peter Ertl <[EMAIL PROTECTED]> wrote: >>> >>> Won't it be easier / will it work to use WicketTester for this? >>> >>> >>> Am 05.11.2008 um 17:26 schrieb Igor Vaynberg: >>> >>>> make sure you do this in a thread other then the request thread so you >>>> dont mess up any threadlocals. >>>> >>>> -igor >>>> >>>> On Wed, Nov 5, 2008 at 2:22 AM, Jörn Zaefferer >>>> <[EMAIL PROTECTED]> wrote: >>>>> >>>>> 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] >>> >>> >>> --------------------------------------------------------------------- >>> 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] > > > --------------------------------------------------------------------- > 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]