11

条件付きでレンダリングしようとしているため、レンダリングされる<tr>ため使用できません<h:panelGroup><span> or <div>

私の現在の(作業中の)アプローチは次のとおりです。

<h:outputFormat rendered="#{negotiator.maySend}">
    <tr> my tr stuff </tr>
</h:outputFormat>

これは機能しますが、それが悪用の方法であるかどうかはわかりません<h:outputFormat>-それ以前は使用していましたが、これはIE<h:outputLabel>でレンダリングされました.<label>

この質問への回答も読みましたが、上記のように、次の理由により機能しません<tr>: JSFでブロック全体をレンダリングしない方法は?

4

1 に答える 1

24

または<h:panelGroup>にレンダリングされるため、使用できません<span><div>

どうやらあなたはそれを注意深くテストしていませんでした。、、など、<h:panelGroup>クライアント側で終了する属性を指定しない場合、 は何もレンダリングしません。layoutidstyleClass

したがって、これは技術的には完全に正常に機能するはずです。

<h:panelGroup rendered="#{negotiator.maySend}">
    <tr> my tr stuff </tr>
</h:panelGroup>

ただし、主な目的には を使用することをお勧めします<ui:fragment>

<ui:fragment rendered="#{negotiator.maySend}">
    <tr> my tr stuff </tr>
</ui:fragment>

ちなみに、これは でも可能<f:verbatim>ですが、JSP で使用するために特別に設計されているため、JSF 2.0 以降は推奨されていません。

以下も参照してください。

于 2013-04-11T11:45:54.930 に答える