2012-09-19 4 views
0

검색 결과를 보여주는 JSF 검색 명령 버튼과 tomahawk dataTable이 있습니다. 명령 단추를 클릭하면 dataTable이 검색 결과를 출력해야합니다. 어쨌든 JSF Ajax를 사용하기 때문에 dataTable이 표시되지 않습니다. JSF Ajax가 문제를 일으키는 지 궁금하다. 이에f : 아약스가 t : dataTable을 완료하지 못했습니다.

<h:commandButton id="search" value="#{msg.Label_Search}" action="#{theBean.doSearch}"> 
    <f:ajax render="searchStatus" execute="@form" /> 
</h:commandButton> 
<h:outputText id="searchStatus" value="Loading data now..." rendered="#{theBean.searchingNow}" /> 

<h:panelGroup id="searchResultTable"> 
    <t:dataTable ... /> 
</h:panelGroup> 

*를 적어 둡니다 :

여기에 테이블이 현재 렌더링의 원인이 문제가있는 코드입니다. 아약스 코드가 제거 된 경우. 잘 작동합니다.

답변

1

아약스 요청이 완료되면 searchResultTable이 아닌 searchStatus 만 업데이트합니다. 따라서 최종 사용자는 실제로 searchResultTable의 HTML 표현에서 시각적 인 변화를 볼 수 없습니다.

그에 따라 searchResultTable도 정말 업데이트되도록 <f:ajax render> 수정 :

<f:ajax render="searchStatus searchResultTable" execute="@form" />