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]

Reply via email to