如何不在 JSF 中渲染整个块?
Posted
技术标签:
【中文标题】如何不在 JSF 中渲染整个块?【英文标题】:How to not render whole block in JSF? 【发布时间】:2012-01-13 22:43:05 【问题描述】:是否有一个 JSF 2.1 组件可以让我有条件地渲染(或不渲染)它的所有内容?类似的东西
<h:component rendered="#user.loggedIn">
...a bunch of jsf components and html code...
...even more HTML code...
</h:component>
我正在使用 PrimeFaces 3M4,因为这可能会影响您的回答!
【问题讨论】:
【参考方案1】:<h:panelGroup>
如果你设置属性layout="block"
,你将有一个<div>
标签
否则,你有一个<span>
标签。
【讨论】:
就是这样。一个 div 正是我所需要的。【参考方案2】:一般来说,大多数 jsf 组件都支持 render 属性(从来没有碰到不支持的),
像h:panelGrid or h:panelGroup
这样的容器组件支持渲染属性,如果它设置为 false,它的所有子组件也将被隐藏
primefaces 组件也是如此,如果不是,它可能是一个错误(我认为 primefaces 的 tabview 存在问题)
这是 primefaces 用户指南的链接,您可以在那里找到所有 primefaces 组件支持的属性User’s Guide for 3.0.M4
【讨论】:
感谢您提供更多信息。我已经知道结构良好且完整的 PF 手册,但无法弄清楚(不)渲染元素块的最简单方法是什么,分别用什么组件最好。以上是关于如何不在 JSF 中渲染整个块?的主要内容,如果未能解决你的问题,请参考以下文章