내 프로젝트에서 JSF 2.0을 사용하고 있습니다. 나는 그 구현에 당혹 스럽다. 현재 데이터 테이블/트리 테이블에 대한 복합 구성 요소를 구현 중입니다. 나는 datatable과 treetable을위한 일반적인 컴포넌트를 생성하고있다. 이 복합 컴포넌트를 사용하는 사용자는 트리 테이블 또는 데이터 테이블의 데이터를 표시하기 위해 부울 값을 전달해야합니다. 나는 데이터 테이블이 필요한 경우JSF El 컴파일 타임에 실행
<cc:attribute name="treeMode" default="false" type="java.lang.Boolean"/>
<p:dataTable rendered="#{cc.attrs.treeMode == 'false'} id="#{cc.attrs.id} value=".../>
<p:treeTable rendered="#{cc.attrs.treeMode == 'true'}" id="#{cc.attrs.id} value=".../>
, 나는 나 또한 ID 속성을 전달하고
<nav:navDataGrid
id="testTable"
treeMode="true"
databean="testBean" .../>
를 사용합니다. 하지만 내 문제는 위의 코드를 사용하여 복합 컴포넌트를 사용할 때이다.
Component ID testTable:testTable has already been found in the view.
데이터 테이블과 트리 테이블을 모두 렌더링하기 때문에 생각한다. treeMode = tree를 전달하면 왜 datatable이 렌더링됩니까? 이 문제를 어떻게 해결할 수 있습니까? TreeTable에 대해 하나 이상의 복합 컴포넌트를 만드는 다른 옵션이 있습니까?
실제로. "보기 빌드 시간"대 "보기 렌더링 시간"에 대한 관련 읽기 : http://stackoverflow.com/a/3343681 및 http://stackoverflow.com/a/14917453 – BalusC