2012-03-20 3 views
0

page1.xhtml 페이지에 입력 텍스트가 있고 get 메소드를 사용하여 두 번째 페이지 page2.xhmtl을 뷰 매개 변수로 전달하고자합니다. h : 버튼을 사용하여 뒷받침 빈에서 결과 값을 넣습니다. 그러나 두 번째 페이지로 이동하면 매개 변수가 전달되지 않습니다. 뭐가 문제 야? 버튼을 누르기 전에 백킹 빈에 값이 전달되지 않으므로 값을 읽을 수 없습니까? 그것을 할 다른 방법이 있습니까?백킹 빈을 통해 뷰 매개 변수 전달하기

page1.xhtml

h:inputText id="q" value="#{QBean.q}"></h:inputText> 
<h:button value="Done" outcome="page2?q=#{indexBean.q}"> 

page2.xhtml

<f:metadata> 
     <f:viewParam name="q" value="#{QBean.q}"/> 
</f:metadata> 

QBean

private String q; 

//setter 
//getter 

답변

2

귀하의 유일한 기능 요구 사항은 당신이 대신 POST 양식의 GET 양식을 원하는 것 같다 . 이 경우 JSF 구성 요소가 아닌 일반 HTML 요소를 사용하십시오.

<form action="page2.xhtml"> 
    <input name="q" /> 
    <input type="submit" value="Done" /> 
</form> 
+0

을 나는 또한 백업 빈에 해당 매개 변수를 전달하려면 무엇? – user579674

+0

이미'page2.xhtml'에서''으로 지정하십시오. 변경 사항을 수행 할 필요가 없습니다. – BalusC

+0

그래, 정말 고마워. 그래, 내가 jsf를 사용하고 싶다면 그렇게 할 수 있을까? 내 코드에 무엇이 잘못되었는지 이해해달라고 요청하고 작동하지 않습니다. – user579674

0

당신은 POST-REDIRECT-GET approach를 사용하는 대신에있는 명령이 걸릴 수 : <h:commandButton value="Done" action="page2?faces-redirect=true&amp;includeViewParams=true"/>

+0

[이 하나] (http://stackoverflow.com/questions/4823216/jsf-2-0-form-using-get)의 중복 것으로 보인다 – fischermatte

+0

그것은 재미있는 것 같습니다. 이것을 사용하면 이해할 수있는 한보기 매개 변수를 다른 페이지로 전달할 수 있습니다. 이 문제가 내가 현재 가지고있는 문제에 대해 잘 작동하는지 확실하지 않습니다. – user579674

관련 문제