1

特定のオブジェクト タイプを値属性として受け取る複合コンポーネントがあります。次のようになります。

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

コンポーネントは、オブジェクトからのデータ要素を持つh:panelGridを生成するだけです。

次のようなui:repeat構造内で使用するまで、問題はありませんでした。

<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)

ui:repeatループ内の#{tally}へのその他の参照には問題はありません。それらは期待どおりに動作します。これは Mojarra のバグですか、それとも JSF 仕様に私が理解できない何かがありますか?

これは、GlassFish 3.1.1 の Mojarra 2.1.0 (FCS 2.1.0-b11) にあります。

4

1 に答える 1

2

これは、Mojarra 2.1.1 で修正されたバグに関連しています。アップグレードを検討してください。これは、Mojarra 2.1.1 で修正された問題の概要で述べたように、訪問ヒントの修正の (間接的な) 直接的な結果だと思います。

于 2011-11-08T03:37:18.130 に答える