2017-11-22 28 views
2

ajax로 preRenderView 구성 요소를 업데이트하는 방법이 있습니까?ajax로 preRenderView 구성 요소 업데이트

일부 예 :이 예에서

<html> 
    <f:event type="preRenderView" listener="#{bean1.load}" /> 
    <f:event type="preRenderView" listener="#{bean2.load}" /> 

    <body> 
     <div jsf:rendered="#{bean1.enabled}" > 
      // some code here 
     </div> 

     </div jsf:rendered="#{bean2.enabled}" > 
      // some code here 
     </div> 
    </body> 
</html> 

, 내가 bean1을 사용하도록 설정되어있는 경우 preRenderView가 케이스 (1)의 경우에만 해고 할 수 있습니다. 세션이 매번 호출 될 것이고 위의 간단한 샘플보다 더 복잡한 방법이 있기 때문에 Java 코드에서 검사를 추가하는 것은 좋은 생각이 아닙니다.

모든 구성 요소에서 f : 이벤트를 래핑 할 수 있습니까? 렌더링 된 속성을 컴포넌트에 추가하고 ajax 호출로 업데이트하십시오.

내가 아는 한, 다른 구성 요소를 머리글이나 본문으로 html 태그의 하위 요소로 추가 할 수 없습니다. body 요소 안에 preRenderView를 패킹하고 간단한 jsf : div?로 둘러 쌀 수 있습니까?

답변

2

대신 preRenderComponent 이벤트를 사용하고 해당 f : 이벤트를 div에 넣으십시오.

이런 유형의 JSF 바인딩과 잘 작동하는지 확실하지 않습니다. 해당 div를 h:panelGroup layout="block" (간단한 div도 렌더링 함)으로 대체해야 할 수 있습니다.

+0

감사합니다. 괜찮습니다. – kaiser