2013-07-02 6 views
0

h : inputText가 여러 양식의 최신 JSF2.2에서 작동하지 않습니다. 나는이 두 형태의 h : inputtext가 JSF2.2의 여러 양식에서 작동하지 않습니다.

Form1에

가 있습니다 한 명령 단추 및 하나 개의 입력 텍스트

형식 2는 있습니다 하나의 텍스트 입력과 하나 개의 출력 라벨을 Form1에 명령 단추의 클릭에

, 내가 렌더링하고 form2 (출력 라벨과 입력 텍스트 모두).

출력 레이블 만 올바른 값으로 올바르게 렌더링되지만 (해당 getter 메서드가 호출되고 값이 표시됨) 입력 텍스트가 해당 getter 메서드를 호출하지 않아 null을 표시하지 않습니다.

참고 : 우리는 여러 가지 양식을 사용하는 경우에만이 양식을 잘 작동합니다. 2.2 (com.sun.faces) JSF의 IMPL - - 2.2 (com.sun.faces)

누군가가이 있으면 알려 주시기 JSF API는 : 또한이

버전을 사용 JSF2.0에서 잘 작동 솔루션이 처리 할 수 ​​있습니다.

양식이 중첩되지 않으며 두 Bean이 모두 View 범위에 있습니다.

<h:form id="form1"> 
<a4j:commandLink id="actionEdit" title="Click" action="#{bean.action}" 
render="paymentInstructionDetail" styleClass="iconLarge edit" /> 
</h:form> 


<h:form id="form2"> 
    <a4j:outputPanel ajaxRendered="true" id="paymentInstructionDetail"> 
    <h:inputText value="#{bean1.amount}" id="sample"/> 
    <h:outputLabel value="#{bean1.amount}" id="sampleLabel"/> 
</a4j:outputPanel> 
</h:form>    

액션이 Form1을 완료 한 후

은 Form2를 outputlabel은 (getter 메소드가 호출)가 제대로 값을 표시되지만 InputText]를이 값 (getter 메소드가 호출 점점되지 않음)에 표시되지 않을 때

안녕 존은, 위의 문제가 richfaces없이 잘 작동하는지 테스트하기 위해, 내가 독립 프로젝트를 생성

<h:body> 
    <h2>This is start.xhtml</h2> 
    <h:form> 
     <h:commandButton action="#{myBean.testAction}" value="Payment" > 
      <f:ajax render="sample"></f:ajax> 
     </h:commandButton> 
    </h:form> 
    <h:form id="test12" prependId="false"> 
     <h:inputText value="#{myBean.orderQty}" id="sample"/> 
    </h:form> 
</h:body> 

아래로 XHTML을 생성하지만 난 샘플에 대한 알 수없는 ID를 얻고, 다양한 형태로 확인 할 수있는 방법이있다 ? ID 년대와 같이 -if

다음 당신은 당신의 (다른 형태)를 참조해야합니다, form prependId=false를 사용하지 마십시오 : render=":form2:paymentInstructionDetail" styleClass="iconLarge edit" />

+0

두 개의 양식이 중첩되어 있습니까? 빈 범위 란 무엇입니까? 폼 외부에서만 '렌더링'할 수 있으므로 폼 외부에서는 '처리'할 수 없습니다. 코드 스 니펫이 도움이 될 수 있습니다.) –

+0

안녕하세요, 위의 쿼리에서 세부 정보를 업데이트했습니다. – user2542314

답변

0

나는 다음을 richfaces (A4J)에 익숙하지 않은,하지만 시도 또 다른 참고 사항 : - richfaces가 아직 준비되지 않았으므로 문제가 예상됩니다. - 실제로 JSF 2.2에는 자체 버그가 많이 있습니다.

+0

안녕하세요, richfaces가없는 독립 실행 형 응용 프로그램으로 검사했지만 오류가 발생했습니다. 나는 위의 게시물을 세부 사항으로 업데이트했다. 내가 뭔가를 놓친다면 알려주지. – user2542314

+0

렌더 속성을'render = ": form2 : paymentInstructionDetail"'로 변경하려고 시도 했습니까? –

+0

나는 위의 게시물에서 주어진 두 번째 예제를 사용했지만 첫 번째 예제는 사용하지 않았습니다. 거기에 나는 render = "sample" – user2542314