2012-06-09 1 views
2

조치 요청시 동일한 페이지로 리디렉션하는 방법을 알고 싶습니다.PrettyFaces를 사용하여 동일한 페이지로 다시 리디렉션하는 방법은 무엇입니까?

<h:commandButton action="#{someBean.edit}" value="Edit" /> 

이 작업입니다 : :

@Named 
@RequestScoped 
public class SomeBean { 

    public String edit() { 
     // some logic 
     return "theSamePage?faces-redirect=true"; 
    } 

} 

는하지만이 다시 시도 그래서 때, 그것을 그냥 새로 고침 같은 페이지로 리디렉션하지 않습니다

나는이있는 명령이 페이지 F5 키를 눌러 중복 제출이 발생합니다. 이것은 정상적인 상황에서 post/redirect/get으로 해결할 수 있습니다. 그러나 액션 메소드가 요청을 보낸 페이지의 viewId와 동일한 viewId를 반환하면 faces는 리디렉션을 보내지 않습니다.

prettyfaces를 사용합니다.

+0

질문을 업데이트하십시오. 내 삭제 된 답변에 따라 PrettyFaces를 사용하고 있지만이 중요한 세부 사항은 질문에 없습니다. – BalusC

+0

관련성이 있다고 생각지 않지만 어쨌든 업데이트했습니다. – VaclavDedik

+1

확실히 관련이 있습니다. 표준 JSF 솔루션은 당신을 위해 작동하지 않았다. – BalusC

답변

5
return "pretty:"; 
: 자세한 내용은

 PrettyContext prettyContext = PrettyContext.newInstance((HttpServletRequest) request); 
     String viewId = prettyContext.getCurrentCalculatedViewId(); 

확인이 :

꽤에서보기 ID는이 작업을 수행하여 얻을 수면

꽤 많이 필요합니다.

+1

감사합니다. 당신은 내 하루 큰 시간을 절약했습니다. – VaclavDedik