2012-02-01 3 views
0

JSF에서 <rich:dataTable>을 다시 렌더링하는 데 문제가 있습니다. 내 페이지에 콘텐츠 만 새로 고치는 새로 고침 링크가 있습니다.rich : dataTable을 다시 렌더링하는 방법

<h:commandLink action="#" value="#{messages['listmsgs.header.refresh']}"> 
    <a4j:support event="onclick" reRender="mesagesListTable" /> 
</h:commandLink> 

하지만이 버튼을 누르면 아무 일도 일어나지 않습니다. F5 키를 누르면 아무 일도 일어나지 않습니다. 현재 페이지로 연결되는 링크를 클릭하면 아무 것도 발생하지 않습니다. 다른 페이지로 연결되는 링크를 클릭하고 브라우저의 뒤로 버튼을 사용하지 않고 돌아갈 때만 콘텐츠가 다시 렌더링됩니다. reRender로 어떻게 효과를 낼 수 있습니까?

답변

1

dataTable의 부모 구성 요소를 다시 작성하십시오. 예를 들어 dataTable을 h : panelGroup에 넣고 panelGroup을 다시 렌더링 할 수 있습니다.

+0

작동하지 않는 것 같습니다. 아마 그것은 Hibernate와 관련이있다. 나는 테이블이 새로운 행을 얻었을 때 테이블이 업데이트된다는 것을 알아 차렸다. 그러나 셀 값이 변경되면 아무 일도 일어나지 않습니다. – thobens

+0

getter가 호출 될 때마다 데이터베이스에 테이블을 읽거나 가져 오는 컬렉션을 저장하고 있습니까? – Pablo

+0

getter가 호출 될 때마다 읽습니다. 하지만 해결책을 찾았습니다. getter에서 entityManager.clear()를 호출했습니다. 이제 작동합니다. 의견에 감사드립니다. – thobens