特定のオブジェクトタイプを値属性とするコンポジットコンポーネントがあります。それは次のようになりますコンポジットコンポーネントパラメータは、それがui:repeat属性であると評価されません
<cc:interface>
<cc:attribute name="value"
type="com.myapp.Tally"
required="true"
</cc:interface>
成分は単にH生成:オブジェクトからのデータ要素とpanelGridを。私はUIの内側にそれを使用してみましたまで、私はそれとのトラブルを持っていたことがない
:このよう構造を繰り返します。このページが要求されると
<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ループには何の問題もありません。彼らは期待どおりに動作します。これはMojarraのバグですか、それとも私が理解できなかったJSF仕様の何かがありますか?
これは、これはクロサギ科2.1.1で修正されたバグに関連しているのGlassFish 3.1.1にクロサギ科2.1.0(FCS 2.1.0-B11)に
Mojarra 2.1.0でこれを試したことはありませんが、Mojarra 2.1.3ではローカルで問題なく動作し、Mojarra 2.1.1(http://www.m4n.nl、上位10のリストはui:repeatによって生成され、ポップアップを持つ星のスコアはコンポジットです)。あなたは 'value'属性をtypo'edしていないと確信していますか? – BalusC
これは私のアプリケーションから切り取って貼り付けたものです(削除してしまいます)。属性は、Netbeansエディタで自動完成されます。しかし興味深いのはMojarra 2.1.3です。私は最新のものを持っていると思っていました。アップグレードしてもう一度試すことができるかどうかを見てみましょう。 – AlanObject
@BalusCよく私の家のシステムに2.1.3持っていることが判明しました。私のラップトップは古いです。それは今働いているようです。残念ながら、私は失敗したコードを保存していないが、私はそれが私のラップトップで再び失敗することができるかどうかを確認します。 – AlanObject