2013-06-24 52 views
1

我有一個由其他複合組件組成的複合組件。現在我只想渲染父組件中的一些子組件。從Java EE教程中,我認爲我應該將我的子組件綁定到我的父組件的backing bean的某些屬性,以便我可以訪問它們的render屬性。如何在JSF中綁定複合組件?

但是,NetBeans IDE不知道我的複合組件的binding屬性。那麼我該怎麼做呢?

使用案例:父組件是一些嚮導,一次只能顯示其中一個子組件。把它想象成一個窮人的標籤視圖。我知道有些庫爲此提供了現成的組件,但我不想添加其他依賴項。

回答

4

Netbeans在撒謊。該屬性在<ui:component>上絕對支持。只需使用它並忽略IDE中的警告/錯誤即可。或者更好的,只需使用rendered屬性;有條件地渲染組件的需求不是一個比rendered更喜歡binding的合理理由。

+0

是的,NetBeans在撒謊,而且Java EE教程7說'綁定'屬性會出現在輸出標籤上,而我的複合組件是'UINamingContainer',而不是'UIOutput'。 –

+0

不,它存在於['UIComponent'](http://docs.oracle.com/javaee/6/api/javax/faces/component/UIComponent.html)中,它也由' '(你是否在我的答案中點擊了VDL鏈接?)。 – BalusC

+0

謝謝,我做了,但我使用了一個自定義組件,即'http:// java.sun.com/jsf/composite'命名空間的'interface'和'implementation'標籤。不知道這與你的標籤有什麼關係。 –