2012-05-20 2 views
1

백업 관리 빈에 바인드 된 사용자 이름과 비밀번호를 가졌습니다. Backing Bean에서 DB를 사용하여 사용자 이름과 암호를 확인할 때 login.xhtml에서 home.xhtml으로 페이지를 리디렉션하고 싶습니다. 어떻게해야합니까?로그인 한 후 리디렉션하는 방법은 무엇입니까?

+0

jsf 2 또는 jsf 1.x를 사용하고 있습니까? – Daniel

+0

@Daniel : 질문에 대한 역사를 바탕으로 JSF 2.0. – BalusC

답변

6

faces-redirect=true 매개 변수가 추가 된 뷰 ID 만 반환하면됩니다.

예.

public String login() { 
    User found = userService.find(username, password); 

    if (found != null) { 
     this.user = found; 
     return "home?faces-redirect=true"; // Will redirect to home.xhtml. 
    } 
    else { 
     addGlobalErrorMessage("Unknown login, please try again"); 
     return null; // Will stay in current view (and show error message). 
    } 
} 
+0

그리고? 나는 반환 된 문자열을 어디에 사용합니까? login.xhtml 페이지에 say login.java bean이 바인딩되어 있습니다. 이 방법을 사용하면 사용자를 완전히 새로운 페이지로 리디렉션합니까? –

+0

당신은 무엇을 시도 했습니까? 어떻게 당신을 위해 일하지 않습니까? 당신은 다른 것을 할 필요가 없습니다. 보기 ID가 맞으면 새 페이지가 나타납니다. 위의 대답은'home.xhtml'이'login.xhtml '과 같은 폴더에 있다고 가정합니다. – BalusC

+0

OK, 알겠습니다. 이제 어떻게 작동하는지 말해 주시겠습니까? faces-redirect는 예약 된 매개 변수입니다. 맞습니까? 그 일을 말해줘. –

관련 문제