如何防止wicket中的重复代码

时间:2012-01-26 22:23:35

标签: wicket dry

抱歉我的英语不好

我有两个班级档案和EditProfile

这两个班级都有

protected void addContent(PageParameters pageParameters) {
        final String email = pageParameters.get(ListUser.USER_EMAIL).toString();
        final User loggedUser = getLoggedUser();

        if (email == null) {
            redirectToInterceptPage(new ErrorPage404(null));
            return;
        }

        User userByEmail = userService.findByEmail(email);

        if (userByEmail == null) {
            redirectToInterceptPage(new ForbiddenPage403(null));
            return;
        }

        final UserDetachableModel user = new UserDetachableModel(userByEmail);

        // If the user is not active, there is no need to edit your profile.
        if (!user.getObject().isActive()) {
            redirectToInterceptPage(new ErrorPage404(null));
            return;
        }

        // Only admins can see the profile of other users.
        if (!loggedUser.getUserRole().equals(UserRole.ADMIN) && !loggedUser.getEmail().equalsIgnoreCase(email)) {
            redirectToInterceptPage(new ForbiddenPage403(null));
            return;
        }

    ......PROCESS TO SEE PROFILE OR EDIT PROFILE........
}

我使用CustomMountedPage来隐藏wicket的序列号。 示例http://HOST/Page/subPage ID & PARAMS 以查看http://HOST/Page/subPage PARAMS 以及访问其他个人资料

如何防止重复代码!!

1 个答案:

答案 0 :(得分:1)

您可以使用面板。它们有自己的标记文件,就像普通页面一样,但您可以在任何其他Wicket-Page中将它们用作组件。

请查看this page,了解如何正确使用面板。