標準の 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 メソッドに渡されるときに確認できます。
誰かがこれの理由と、回避策などでこれを解決する方法を知っていますか?
前もって感謝します!