2

標準の JSF コンポーネントでカスタム属性を使用したいと考えています。ここで説明されているように ResponseWriterWrapper を使用または導入する:カスタム属性 (HTML5) サポートを JSF 2.0 UIInput コンポーネントに追加する は、カスタム属性の値が EL 式の場合は機能しません。

コンポーネント t:div のカスタム レンダラー クラスを導入し、ResponseWriterWrapper を使用してカスタム属性をレンダリングします。だから書くときは

<t:div data-role="collapsible" data-collapsed="false">
    ...
</t:div>

すべてうまくいきます!

しかし、次のコードは機能しません。

<t:div data-role="collapsible" data-collapsed="#{false}">
    ...
</t:div>

さらに詳しく説明すると、属性「data-collapsed」は、コンポーネントの属性リストの一部ではないため、レンダリングされません。これは、コンポーネントが encodeBegin メソッドに渡されるときに確認できます。

誰かがこれの理由と、回避策などでこれを解決する方法を知っていますか?

前もって感謝します!

4

1 に答える 1