条件 ui:在 JSF 中包含并保留布局

Posted

技术标签:

【中文标题】条件 ui:在 JSF 中包含并保留布局【英文标题】:Conditional ui:include and preserve layout in JSF 【发布时间】:2014-09-04 02:49:35 【问题描述】:

是否可以在 JSF facelets 中执行条件 ui:include 并保留父级的布局(包括 xhtml)?

示例:我有一个表单,它总是在具有 4 列(标签、输入、标签输入)的面板网格中呈现一些基本属性。现在我有一些特定类型的表单输入元素。对于每种特定类型的表单部分,我创建了一个单独的 xhtml。为此,必须有条件地将特定属性包含在基本属性之后。不幸的是,ui:include 没有 rendered 属性。所以我必须在ui:include 周围加上一些东西。不幸的是,这“覆盖”了定义 4 列的包含父级设置的布局。我想在这 4 列 panelGrid 中呈现特定属性,而无需启动正在消失我的布局的新布局元素。 JSF 有没有可能实现这一点?

问候 奥利弗

【问题讨论】:

【参考方案1】:

您可以使用包装ui:include 元素的c:if 语句来有条件地呈现它。

【讨论】:

感谢您的回复。我现在使用 primefaces p:panelGrid 和标签 p:row 和 p:column 并将渲染条件添加到 p:row。我尽量避免使用 c 标签,因为过去我有一些奇怪的行为。但无论如何,这可能是一个解决方案。 这确实是另一种解决方案。

以上是关于条件 ui:在 JSF 中包含并保留布局的主要内容,如果未能解决你的问题,请参考以下文章

JSF/Facelets/JSTL 条件显示最佳实践

我应该使用带有 render 属性的 ui:fragment 来有条件地在带有 JSF 2.2 的 Facelets 中呈现 HTML 标记吗?

在WordPress中包含并注册Javascript文件函数.php

JSF 递归 ui:在多个回发中包含混乱的输出树

有条件地渲染 tr,使用 ui:repeat 构建表

条件模板剑道ui