2012-05-09 25 views
3

我們有一個通用組件,其中按鈕或複選框的數量變化以及標籤。我可以有一個共同的包含文件,並可以改變傳遞參數。 在包含文件中,有沒有辦法找到多少個輸入參數,並基於該數量呈現儘可能多的按鈕或複選框..JSF2 ui:包含pass輸入參數的可變數字

回答

5

您可以使用<ui:param>將參數傳遞給包含文件。

<ui:include src="/WEB-INF/includes/some.xhtml"> 
    <ui:param name="number" value="3" /> 
</ui:include> 

參數值是在可作爲some.xhtml#{number}上述特定示例。

另一種方法是註冊包括文件作爲一個.taglib.xml文件標記文件:

<tag> 
    <tag-name>some</tag-name> 
    <source>/WEB-INF/tags/some.xhtml</source> 
</tag> 

然後你可以指定參數作爲標記文件屬性:

<my:some number="3" /> 

它是這樣也可在some.xhtml內以#{number}獲得。

+0

嗨BalusC,我怎麼看到這個值'3'內我的託管bean? –

+0

@Thang:嘗試'FaceletContext#getAttributes()'。我記得這是JSF impl /版本特定的。否則,請嘗試'createValueExpression()',其中您將'FaceletContext'作爲'ELContext'參數傳遞。 – BalusC