我正在尝试有条件地呈现<tr>
,因此我无法使用<h:panelGroup>
,因为它会呈现给<span> or <div>
我目前的(工作)方法如下:
<h:outputFormat rendered="#{negotiator.maySend}">
<tr> my tr stuff </tr>
</h:outputFormat>
这样做有效,但我不确定这是否是滥用<h:outputFormat>
的方法 - 在此之前我使用了<h:outputLabel>
,但这已在IE中呈现给<label>
。
我也已经阅读了这个问题的答案,但如上所述,由于<tr>
:How to not render whole block in JSF?
答案 0 :(得分:24)
我无法使用
<h:panelGroup>
,因为它会呈现给<span>
或<div>
显然你没有仔细测试过。如果您没有指定应该在客户端结束的属性,<h:panelGroup>
将不会呈现任何内容,例如layout
,id
,styleClass
等。
因此,这应该在技术上完美地工作。
<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>
所允许的,但是自从JSF 2.0以来,它已被弃用,因为它是专为在JSP中使用而设计的。