0
我在我的項目中使用JSF 2.0。我對實施感到震驚。目前,我正在爲數據表/樹表實現一個複合組件。我正在創建一個數據表和通用的通用組件。使用此複合組件的用戶必須通過布爾值來在樹表或數據表中顯示顯示數據。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=".../>
如果我需要的數據表,我使用
<nav:navDataGrid
id="testTable"
treeMode="true"
databean="testBean" .../>
我也通過ID屬性。但我的問題是,當使用複合組件使用上述代碼我得到
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