我正在尝试更改 JSF 1.1 页面以有条件地隐藏页面的某些部分。该页面是使用混合的原始 HTML 和标签构建的。具体来说,我有以下内容:
<table>
<tr>
<td>Foo</td>
<td><h:inputText ... /></td>
</tr>
<tr>
<td>Bar</td>
<td><h:inputText ... /></td>
</tr>
<!-- more stuff, including <h:dataTable>
</table>
我想将其包装在有条件地隐藏整个表格的标签中,但我似乎无法弄清楚。这是我尝试过的:
- 将标记包裹在
<h:panelGroup rendered="...">
. 虽然这个正确显示/隐藏了标记,但所有原始 HTML 都从生成的 HTML 中剥离。 - 将标记包裹在
<f:verbatim>
. 这不起作用,因为逐字标记在 JSF 1.1 中没有渲染属性 - 将整个东西包裹在一个
<h:panelGroup rendered="..."><f:verbatim>
组合中。这与第一次尝试的效果相同。 - 我也尝试过
<f:view>
,<f:subview>
但无济于事。
我知道可以在 JSF 页面中包含 JSTL 标记并使用<c:if>
,但我想避免这种情况。有任何想法吗?
注意:我意识到(至少在某些人看来)混合 HTML 和 JSF 被认为是不好的做法,但是这个页面是由其他人创建的,我只需要修改它(它的页面有点大,上面的 HTML 只是一个它的小片段)..