1

我有类似这样的代码,那么我该如何在 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));
        }
4

1 回答 1

0

只需删除setRedirect(true);.

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

于 2017-06-28T06:07:57.797 回答