2016-07-12 14 views
2
나는 필터입니다 다음과 같은 입력 한 열 머리글 가지고 rich:dataTable 내부

경우 :RichFaces 3 AJAX 요청 - 콩 업데이트하지만 페이지가되지 첫번째 Ajax 요청이

<h:inputText id="filter" value="#{action.filter}"> 
    <a4j:support event="onkeyup" requestDelay="1000" ignoreDupResponses="true" 
       reRender="dataTable, filter" 
       focus="filter" oncomplete="setCaretToEnd(event);" /> 
</h:inputText> 

내 페이지에 다른 구성 요소가 포함되어 있습니다 아약스와. 모든 것은 안에 있고 에는aj4:region (통지와 관련이있는 경우)이 없습니다.

페이지가로드 될 때 첫 번째로 보낸 AJAX 요청이 필터 입력의 요청 인 경우 올바르게 작동하고 내 테이블이 올바르게 업데이트됩니다. 그럼에도 불구하고 다른 AJAX 요청이 전송 되 자마자 bean은 여전히 ​​테이블을 채울 새로운 값으로 올바르게 업데이트되지만, reRender 속성이 작동하지 않는 것처럼 내 페이지에는 아무런 변화가 없습니다.

이 문제는이 특정 입력 및 AJAX 요청에만 적용됩니다. 다른 모든 구성 요소는 언제든지 정상적으로 작동합니다.

저는 JSF와 RichFaces를 처음 접했습니다. 어쩌면 대기열과 관련이 있을까요?

답변

0

나는이 문제를 해결했다.

<a4j:outputPanel ajaxRendered="true"> 

RichFaces documentation는 말한다 : 난 그냥 다음 패널 내부에 내 결핍 요소를 중첩

ajaxRendered있는 구성 요소 = "true"로 모든 Ajax 요청으로 다시 렌더링됩니다

도하지 요청 컴포넌트의 render 속성에 의해 참조된다. 이는 명시 적으로 요청하지 않고 상태 표시 또는 오류 메시지를 갱신하는 데 유용 할 수 있습니다.

그래서 내 중첩 된 구성 요소의 reRender 특성을 강제로 적용한 것처럼 생각합니다. 이상한.