как предотвратить дублирование кода в калитке - PullRequest
0 голосов
/ 27 января 2012

Извините, мой английский плохой

У меня есть два профиля класса и 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........
}

Я использую CustomMountingPage, который я использую, чтобы скрытьсерийный номер калитки.Пример http://HOST/Page/subPage?ID&PARAMS для просмотра http://HOST/Page/subPage?PARAMS и доступа к другому профилю

Как предотвратить дублирование кода !!

1 Ответ

1 голос
/ 27 января 2012

Вы можете использовать Панели.У них есть собственный файл разметки, как у обычной страницы, но вы можете использовать их на любой другой странице Wicket в качестве компонента.

Просмотрите эту страницу , чтобы увидеть, как правильно использовать панели..

...