public IRequestTarget decode(RequestParameters requestParameters)
{
final ValueMap requestParams = decodeParameters(requestParameters);
PageParameters params = new PageParameters();
params.put("uri", requestParams.get(URI));
return new BookmarkablePageRequestTarget(Page.class, params) {
/**
* @see org.apache.wicket.request.target.component.BookmarkablePageRequestTarget#respond(org.apache.wicket.RequestCycle)
*/
@Override
public void respond(RequestCycle requestCycle)
{
if (requestParams.getString("email") != null) {
final StringResponse emailResponse = new StringResponse();
final WebResponse originalResponse = (WebResponse)RequestCycle.get().getResponse();
RequestCycle.get().setResponse(emailResponse);
super.respond(requestCycle);
// Here send the email instead of dumping it to stdout!
System.out.println(emailResponse.toString());
RequestCycle.get().setResponse(originalResponse);
RequestCycle.get().setRequestTarget(new BookmarkablePageRequestTarget(Sent.class));
} else {
super.respond(requestCycle);
}
}
};