表格没有正确重定向Wicket

时间:2011-03-14 16:25:13

标签: forms wicket

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 个答案:

答案 0 :(得分:2)

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 :(得分:1)

您还应该使用getRoles().contains()代替getRoles().equals()