2011-11-08 49 views
1

我有一個複合組件,它將特定對象類型作爲其屬性。它看起來像這樣:複合組件參數不會評估它是否爲ui:重複var屬性

<cc:interface> 
    <cc:attribute name="value" 
        type="com.myapp.Tally" 
        required="true" 
</cc:interface> 

該組件僅產生H:panelGrid的與來自對象的數據元素。

我從未有過麻煩,直到我試圖用它界面內:重複結構是這樣的:

<ui:repeat value="#{myApp.tallyList}" var="tally">  
    <p> 
    <qc:tallySummaryH value="#{tally}" /> 
    </p> 
</ui:repeat> 

,當請求此頁面時,它拋出一個異常:

javax.faces.view.facelets.TagException: /table.xhtml @86,66 <qc:tallySummaryH> The following attribute(s) are required, but no values have been supplied for them: value. 
    at com.sun.faces.facelets.tag.composite.InterfaceHandler.validateComponent(InterfaceHandler.java:233) 
    at com.sun.faces.facelets.tag.composite.InterfaceHandler.apply(InterfaceHandler.java:125) 
    at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98) 
    at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93) 
    at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:86) 
    at com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:152) 
    at com.sun.faces.facelets.tag.jsf.CompositeComponentTagHandler.applyCompositeComponent(CompositeComponentTagHandler.java:349) 

其他參考#{tally}裏面的ui:重複循環沒有任何問題。它們按預期運行。這是一個莫哈拉錯誤還是在JSF規範中有一些我不明白的東西?

這是鑽嘴魚科2.1.0(FCS 2.1.0-B11)GlassFish中3.1.1

+0

從來沒有與Mojarra 2.1.0一起嘗試過,但它在Mojarra 2.1.3上對本地工作正常,並且在使用Mojarra 2.1.1(http://www.m4n.nl)的生產環境中工作良好前10名單是由ui:repeat生成的,並且彈出的明星分數是一個複合詞)。你確定你沒有輸入'value'屬性嗎? – BalusC

+0

這是從我的應用程序中剪切並粘貼(然後幾次刪除)。該屬性在Netbeans編輯器中自動完成。不過有趣的是Mojarra 2.1.3我以爲我有最新的。讓我看看我是否可以升級並再試一次。 – AlanObject

+0

@BalusC事實證明,我的家庭系統上有2.1.3。我的筆記本電腦已過時。它現在似乎正在工作。不幸的是,我沒有保存失敗的代碼,但我會看看是否可以讓我的筆記本電腦再次失敗。 – AlanObject

回答

2

這與將其固定在鑽嘴魚科2.1.1中的錯誤。考慮upgrading。我相信這是(直接)訪問提示修復的結果,如this overview中提到的在Mojarra 2.1.1中修復的問題。