2010-02-12 30 views
2

我是新來的JSF,我試圖以顯示與UI中的JSF2組件:包括我們可以使用ui:include在JSF中來顯示一個組件嗎?

<ui:include src="myComponent.xhtml"> 
    <ui:param name="attr" value="aValue"/> 
</ui:include> 

該組件是顯示成功,但參數是傳遞到JSF2組件。屬性attr在組件的接口中定義。

它的工作原理,如果我用我的組件是這樣的:

<ez:myComponent attr="aValue"/> 

使用UI中的點:包括是使用類似的東西:

<ui:include src="#{componentName}"/> 

我做得不支持還是有另一種方式來顯示我的組件,並填寫參數?

我正在使用GlassFish v3。

在此先感謝。

+0

不太確定你在問什麼。您是否嘗試使用?如果是這樣,你的代碼的其餘部分是什麼,你期望看到這個參數集? – Damo 2010-02-14 08:50:17

+0

很抱歉,如果不清楚。我想動態地包含一些JSF2組件,我想知道它是否可能。組件的名稱由我自己的bean提供。 在我的測試過程中,如果我聲明我的組件爲,組件將正確顯示。但是我不能用這種語義動態地顯示一個組件。 因此,我嘗試使用ui:include並顯示組件,但屬性「attr」的值未傳遞給組件。 對於組件,我們假設它只是。 – Awano 2010-02-15 09:29:20

回答

1

從我的UI的理解:PARAM你應該能夠接取UI的價值:通過使用#{} ATTR在myComponent.xhtml PARAM 通過使用PARAM名 檢查了這一點https://facelets.dev.java.net/nonav/docs/dev/docbook.html#template-param

+0

那麼我試圖把ui:param的cc.attrs.attr的名稱,以便它對應於我的組件使用。它不起作用。我想我現在想要達到的目標是不可能的。 – Awano 2010-02-22 17:27:05

0

基礎的關於Inv3r53的回答中的評論:句子在表達式語言中具有特殊含義以評估表達鏈。如果您希望自己的頁面既可以獨立使用,也可以用作組件,則可以使用組合標記外的c:set(JSF 2 doc)將cc.attrs.attr設置爲attr。如果是獨立的,該集合將被使用,但是當被包含時被忽略(僅包括組合標籤之間的東西)。

相關問題