Hi all,
I am using the code discused in this list for rendering email content
(see below). Despite pages are rendering nicely, I have some
BookmarkablePageLink in them which are rendering just the the context part
of it. For instance, for link www.google.com/p1/p2, it renders just /p1/p2,
while I need the whole url because the user is reading it in his email
program. How can I instruct BookmarkablePageLink to render the whole url?
public static String renderPage(Page page) {
//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 =
newMockHttpServletRequest(application, servletSession, context);
MockHttpServletResponse servletResponse =
newMockHttpServletResponse(servletRequest);
//initialize request and response
servletRequest.initialize();
servletResponse.initialize();
WebRequest webRequest = new ServletWebRequest(servletRequest);
BufferedWebResponse webResponse =
newBufferedWebResponse(servletResponse);
webResponse.setAjax(true);
WebRequestCycle requestCycle = new WebRequestCycle(application,
webRequest, webResponse);
//requestCycle.setRequestTarget(new
BookmarkablePageRequestTarget(pageClass, pageParameters));
requestCycle.setRequestTarget(new PageRequestTarget(page));
try {
requestCycle.getProcessor().respond(requestCycle);
if (requestCycle.wasHandled() == false) {
requestCycle.setRequestTarget(newWebErrorCodeResponseTarget(HttpServletResponse.
SC_NOT_FOUND));
}
requestCycle.detach();
} catch(Exception e){
throw new WicketRuntimeException(e);
}finally {
requestCycle.getResponse().close();
}
return webResponse.toString();
}
--
Fernando Wermus.
www.linkedin.com/in/fernandowermus