2011-03-03 8 views
0

JSF/2.0을 vanilla Mojarra와 함께 사용하고 있습니다.JSF 구성 요소의 지연 렌더링

화면에 클라이언트를로드하는 목록 테이블이 있고 화면이로드 된 후 10 초마다 각 클라이언트 이름 옆에 개별 달러 값을 넣고 싶습니다.

이 작업을 수행하기 위해 기존 JSF 구성 요소를 확장하려고합니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

JG

답변

1

통화는 표준 HTTP 프로토콜은 서버 측 클라이언트 측에 물건을 밀어 허용하지 않기 때문에 클라이언트 측에서 제공한다. 자바 스크립트의 setTimeout() 함수로 시작하십시오.

<script>setTimeout(functionName, 10000);</script> 

변경 사항을 적용하려면 일반 JS (또는 jQuery)를 사용할 수 있습니다. JSF 조치를 호출해야하는 경우 jsf.ajax.request() 함수를 호출하십시오.

+0

jsf.ajax.request()를 사용하면 bean 메소드를 실행할 수 있습니까? 예를 들어 # {myBean.calculateDollarValues}이면 나중에 업데이트 된 속성에 액세스 할 수 있습니다. 그것은 문서에서 분명히 보이지 않는데, 그 예제는 실제로 commandButton을 치는 것이 나에게 제안한다. 그러나 그렇게하지는 않는다. – Toskan

+0

@Toskan : 구성 요소가 뷰에 있거나 아무것도 렌더링하지 않는 사용자 정의 구성 요소를 사용하는 경우에만'decode()'에서 고려해야합니다. – BalusC

+0

아 ... 알았어. 어떤 것을 실행하기 위해서는 (h : commandLink와 같은) 컴포넌트가 필요하다는 것을 이해합니다. (hacky가 렌더링되지 않거나, 숨겨 지거나, 평범하게 보일 수도 있습니다.) 그러나 js 함수 인 jsf.ajax.request를 사용하면 어떻게 commandLink를 제출할 수 있습니까? – Toskan

관련 문제