2011-03-14 3 views
0
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)로 이동하는 역할에 상관없이 누구나 이것이 이유를 알 수 있습니까? 감사.양식이 올바르게 리디렉션되지 않음 Wicket

답변

2

{으로 블록을 여는 대신 ; 문을 사용하여 종료됩니다.

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()); 
     } 
    } 
} 
+0

좋은 직장입니다. 잘 발견되었습니다. – biziclop

+0

잘 발견되었습니다! 감사합니다. – Matthew

1

또한 getRoles().contains() 대신 getRoles().equals() 사용해야합니다.

관련 문제