我有一个 Wicket 页面,在表单提交上我重定向到另一个页面。我有这个:
@Override
protected void onSubmit()
{
//Do something
response.sendRedirect(previousPageUrl);
}
页面已正确重定向,但我收到此异常:
[org.apache.wicket.protocol.http.WebResponse] [Unable to redirect to:..., HTTP Response has already been committed.]
[org.apache.wicket.protocol.http.WicketFilter] [closing the buffer error]
java.lang.IllegalStateException: Committed
at org.eclipse.jetty.server.Response.resetBuffer(Response.java:1059) ~[na:na]
at org.eclipse.jetty.server.Response.sendRedirect(Response.java:449) ~[na:na]
at org.apache.wicket.protocol.http.WebResponse.sendRedirect(WebResponse.java:299) ~[wicket-1.4.17.jar:1.4.17]
at org.apache.wicket.protocol.http.WebResponse.redirect(WebResponse.java:250) ~[wicket-1.4.17.jar:1.4.17]
at org.apache.wicket.protocol.http.BufferedWebResponse.close(BufferedWebResponse.java:67) ~[wicket-1.4.17.jar:1.4.17]
我已经尝试在 sendRedirect()
调用之前添加此行,但没有帮助:
getRequestCycleSettings().setRenderStrategy(IRequestCycleSettings.ONE_PASS_RENDER);
最佳答案
您必须中断 Wicket 的请求处理:
throw new RedirectToUrlException(previousPageUrl);
关于java - 页面重定向时的 Wicket 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18001231/