抱歉我的英语不好
我有两个班级档案和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 以及访问其他个人资料
如何防止重复代码!!
答案 0 :(得分:1)
您可以使用面板。它们有自己的标记文件,就像普通页面一样,但您可以在任何其他Wicket-Page中将它们用作组件。
请查看this page,了解如何正确使用面板。