wicket 6.x或7.x中的setRedirect(true)

时间:2017-06-28 05:55:36

标签: wicket wicket-1.5 wicket-6 wicket-1.6 wicket-7

我的代码是这样的,那么如何在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));
        }

1 个答案:

答案 0 :(得分:0)

只需删除setRedirect(true);

另一种方法是将其替换为:setResponsePage(getPage().getPageClass(), getPage().getPageParameters())。这将告诉Wicket创建当前页面类的新实例并进行渲染。在这种情况下,showErrorMsg()使用Session#error()非常重要,否则错误将无法用于下一页。