2010-11-23 3 views
0

UIComponent 사용자 정의가 있습니다. 기본 facelet 템플릿에서 직접 호출 할 때 확인이 렌더링됩니다 (이 경우 직접 자식 UIComponentBodyTag이됩니다). 그러나 복합 구성 요소 내에서 호출되면 아무 일도 발생하지 않습니다. 나는 아무 예외도, 아무것도 얻지 않는다. 다른 모든 것은 괜찮습니다.JSF UIComponent를 복합 컴포넌트 자식으로 추가 렌더링하지 않음

<h:body> 
    <demo:uiComponentWrapper /> 
</h:body> 

uiComponentWrapper.xhtml :

<h:body> 
    <x:myUiComponent /> 
</h:body> 

이 작동하지 않습니다

그래서이 작동하는 동안

<cc:implementation> 
    Before [<x:myUiComponent />] After 
</cc:implementation> 

Before [] After 단순히 인쇄합니다.

내 논리에 따르면, 이것은 작동해야합니다. 내가 뭘 놓치고 있니? Mojarra 실행 2.0.2.

+0

지금까지 답변이 없으므로 버그 또는 구성 오류 일 수 있습니다. 어떤 제안이라도 환영합니다! –

답변

0

정상적으로 페이지에 추가 할 때 UIComponentencodeAll(...)이 호출되는 것 같습니다. 그러나 구성 요소를 복합 구성 요소의 하위로 추가 할 때 encodeBegin(...)이 대신 호출됩니다. 내 구성 요소 건물은 encodeAll(...)에 정의되었으며, 구성 요소를 복합 구성 요소 하위로 추가 할 때 실행되지 않았습니다.

그래서 상황에 따라 다릅니다. 이유가 무엇인지, 이유는 무엇입니까? question about exactly that을 참조하십시오.

관련 문제