检票口 6.x 或 7.x 中的 setRedirect(true)
setRedirect(true) in wicket 6.x or 7.x
我有类似这样的代码,那么如何在 wicket 6.x 或 7.x 中编写
1.
catch (Exception e) {
log.error("**** Exception ***********");
setRedirect(true);
log.errorException(e);
showErrorMsg(getLocalizer().getString("request.process.page.error", this));
}
2.
if (admin != null && admin.getId().equalsIgnoreCase(aId) == false) {
log.error("UserId do not match");
setRedirect(true);
showErrorMsg(getLocalizer().getString("internal.user.gccverf.auth.failed", this));
}
我有这样的方法
private void showErrorMsg(String errorMsg) {
setResponsePage(new ErrorPage(this.getPage(), getLocalizer().getString("label.applicaiton.error.page", this), errorMsg));
}
只需删除 setRedirect(true);
.
另一种方法是将其替换为:setResponsePage(getPage().getPageClass(), getPage().getPageParameters())
。这将告诉 Wicket 创建当前页面 class 的新实例并呈现它。在这种情况下,showErrorMsg()
使用 Session#error()
很重要,否则错误将不会出现在下一页。
我有类似这样的代码,那么如何在 wicket 6.x 或 7.x 中编写 1.
catch (Exception e) {
log.error("**** Exception ***********");
setRedirect(true);
log.errorException(e);
showErrorMsg(getLocalizer().getString("request.process.page.error", this));
}
2.
if (admin != null && admin.getId().equalsIgnoreCase(aId) == false) {
log.error("UserId do not match");
setRedirect(true);
showErrorMsg(getLocalizer().getString("internal.user.gccverf.auth.failed", this));
}
我有这样的方法
private void showErrorMsg(String errorMsg) {
setResponsePage(new ErrorPage(this.getPage(), getLocalizer().getString("label.applicaiton.error.page", this), errorMsg));
}
只需删除 setRedirect(true);
.
另一种方法是将其替换为:setResponsePage(getPage().getPageClass(), getPage().getPageParameters())
。这将告诉 Wicket 创建当前页面 class 的新实例并呈现它。在这种情况下,showErrorMsg()
使用 Session#error()
很重要,否则错误将不会出现在下一页。