我为JSF团队做前端HTML.我经常遇到用于呈现自己的HTML的JSF标签.它通常是一个SPAN,通常不是问题,但偶尔我们会这样:
<table>
<h:panelGroup rendered="[jsf logic]">
<tr><td>#{jsfVariable}</td></tr>
</h:panelGroup>
</table>
Run Code Online (Sandbox Code Playgroud)
这将呈现这个:
<table>
<span>
<tr><td>Hello World.</td></tr>
</span>
</table>
Run Code Online (Sandbox Code Playgroud)
我一直在阅读JSF标记文档但是找不到特定的方法来告诉JSF标记只呈现子HTML,而不是标记本身作为HTML元素.是否有一个JSF属性来告诉它"不渲染范围"?或者是否有一个JSF标记不会呈现为HTML,但仍允许在其中使用JSF变量?
的<span>,如果你给了,才会产生<h:panelGroup>哪些属性必须在HTML结束了,比如id,styleClass等在你给出的例子中,<h:panelGroup>只有一个rendered属性,所以什么也不会产生到HTML.
那么,要实现您的要求,只是删除比其他所有属性rendered从<h:panelGroup>,完全按照你在你自己的问题例如做.