Hey guys, I need to render a page to a String or file. I have already read the typical reference [1] [2] for this topic.
The difference is, that I am using wicket 1.5 and there must be some API changes so I could not use the given examples. Has someone an example? I tried my best to make the exampel compile but i alwas get a NPE at bufferedWebResponse.getText().toString() Appreciate your help in advance, Stefan [1] http://www.danwalmsley.com/2008/10/21/render-a-wicket-page-to-a-string-for-html-email/ [2] https://gist.github.com/1152059 [3] public static String renderPage(final Class<? extends Page> pageClass, final PageParameters pageParameters) { final WebApplication application = WebApplication.get(); final ServletContext context = application.getServletContext(); //fake a request/response cycle final MockHttpSession servletSession = new MockHttpSession(context); servletSession.setTemporary(true); final MockHttpServletRequest servletRequest = new MockHttpServletRequest(application, servletSession, context); final MockHttpServletResponse servletResponse = new MockHttpServletResponse(servletRequest); //initialize request and response servletRequest.initialize(); servletResponse.initialize(); final ServletWebRequest webRequest = new ServletWebRequest(servletRequest,"/"); final WebResponse webResponse = new ServletWebResponse(webRequest,servletResponse); final BufferedWebResponse bufferedWebResponse = new BufferedWebResponse(webResponse); //webResponse.setAjax(true); final RequestCycle requestCycle = new RequestCycle( new RequestCycleContext(webRequest, webResponse, application.getRootRequestMapper(, application.getExceptionMapperProvider().get())); //requestCycle.setRequestTarget(new BookmarkablePageRequestTarget(pageClass, pageParameters)); requestCycle.setResponsePage(pageClass, pageParameters); try { final boolean handled = requestCycle.processRequestAndDetach(); LOGGER.info("Response after request: " + bufferedWebResponse.getText().toString()); if (! handled) { LOGGER.error(">>>>>>>>>>>>>>>>>>>>>>> NOT HANDLED"); //requestCycle.set(new ErrorCodeRequestHandler(HttpServletResponse.SC_NOT_FOUND)); } //requestCycle.detach(); } finally { requestCycle.getResponse().close(); } return bufferedWebResponse.getText().toString(); } -- Stefan Neumann Dipl.-Ing. freiheit.com technologies gmbh Straßenbahnring 22 / 20251 Hamburg, Germany fon +49 (0)40 / 890584-0 fax +49 (0)40 / 890584-20 HRB Hamburg 70814 1CB2 BA3C 168F 0C2B 6005 FC5E 3EBA BCE2 1BF0 21D3 Geschäftsführer: Claudia Dietze, Stefan Richter, Jörg Kirchhof --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
