Форма не перенаправляет правильно Wicket - PullRequest
0 голосов
/ 14 марта 2011
private void setDefaultResponsePageIfNecessary() {

    if(!continueToOriginalDestination()) {
        if(session.getRoles().equals("ROLE_ADMIN")){
            setResponsePage(SearchForCapacity.class);
            System.out.println("Role for Admin:" + session.getRoles());
        } else if (session.getRoles().equals("ROLE_USER"));
            setResponsePage(HomePage.class);
            System.out.println("Role for User: " + session.getRoles());
    }
}

Привет всем, этот фрагмент из моего класса входа в систему, который работает нормально, за исключением того, что он не будет перенаправлять на нужную страницу.Я могу распечатать роли на консоли, чтобы для администратора он напечатал ROLE_ADMIM и т. Д. Проблема не в том, какую роль она всегда перемещает на одну и ту же страницу (HomePage), кто-нибудь знает, почему это так?спасибо.

Ответы [ 2 ]

2 голосов
/ 14 марта 2011

Оператор else if завершается ; вместо открытия блока с {.

private void setDefaultResponsePageIfNecessary() {

    if(!continueToOriginalDestination()) {
        if(session.getRoles().equals("ROLE_ADMIN")){
            setResponsePage(SearchForCapacity.class);
            System.out.println("Role for Admin:" + session.getRoles());
        } else if (session.getRoles().equals("ROLE_USER")) {
            setResponsePage(HomePage.class);
            System.out.println("Role for User: " + session.getRoles());
        }
    }
}
1 голос
/ 15 марта 2011

Вы также должны использовать getRoles().contains() вместо getRoles().equals().

...