programing

전송된 요청이 Ajax 요청인 경우 Managed Bean에서 리디렉션하는 방법은 무엇입니까?

subpage 2023. 9. 26. 22:23
반응형

전송된 요청이 Ajax 요청인 경우 Managed Bean에서 리디렉션하는 방법은 무엇입니까?

저는 JSF2와 함께 프라임페이스를 사용하고 있습니다.Ajax 요청으로 로그인과 비밀번호를 보내 사용자 인증을 시도하고 있습니다.그리고 backing bean의 작업 방법에서는 사용자의 유효성을 확인하고 유효성 검사가 성공하면 새로운 보기로 리디렉션하려고 합니다.

프라임페이스를 사용하면서 가능한가요?

내가 생각하기엔 황금같은 얼굴로p:commandButton, 저는 아약스 행동이나 내비게이션만 가질 수 있습니다.

예, 결과대로 (기본값) 전달 대신 리디렉션을 전송합니다.<navigation-case>- 적은 JSF 2.0 방식이 추가될 것입니다.?faces-redirect=true작업 메서드의 결과 문자열에 연결합니다.

예.

public String login() {
    // ...
    return "home?faces-redirect=true";
}

여기에 유용하다고 생각할 수 있는 또 다른 기술이 있습니다.탐색을 구현하지 않는 Primefaces 속성에서 AJAX를 통해 메서드를 호출할 때입니다.예를 들어, nodeSelectionListener에 의해 선택된 메서드를 가진 p:tree 개체가 있습니다.

이 방법으로 다음과 같이 리디렉션을 호출할 수 있습니다.

String url = (something)
FacesContext fc = FacesContext.getCurrentInstance();
ExternalContext ec = fc.getExternalContext();
try {
        ec.redirect(url);
} catch (IOException ex) {
        Logger.getLogger(Navigation.class.getName()).log(Level.SEVERE, null, ex);
}

이것이 유용하기를 바랍니다.

언급URL : https://stackoverflow.com/questions/6024815/how-to-redirect-from-a-managedbean-for-when-the-request-sent-is-an-ajax-request

반응형