2

BalusC の templateを使用して、独自のカスタム タグハンドラー (純粋な XHTML、Renderer なし) を開始しました。これをbean:input、典型的なラベル、入力、メッセージのトリオと呼びましょう。次のように使用されます。

<h:panelGrid columns="3">
   <bean:input label="input1:" bean="#{bean1}" property="name" />
   <bean:input label="input2:" bean="#{bean2}" property="name" />
   <bean:input label="input3:" bean="#{bean3}" property="name" />
</h:panelGrid>

問題は、入力が相互に排他的であることです (つまり、それらの 1 つだけが表示されます)。どの入力が表示されるかは、ビュー パラメーターによってレンダリング時に決定されます。どうすればいいですか?

タグに指定しても効果がなく、タグの実装を大きくラップするのをためらっています<ui:fragment>-JSFにこの特定のレンダリングを単にスキップする必要があることを伝えるためのより良い/組み込みの方法はありますか鬼ごっこ?panelGridrendered="false"<c:if test="#{rendered}">


注:<c:if>部分的な更新でグリッドを再レンダリングすると、タグは面白いことを行います (レンダリングされるべきではないラベルをレンダリングするが、対応する入力ボックスはレンダリングしないなど)。コンポーネント自体に属性を追加するrenderedと、それが修正されます。

4

1 に答える 1