【发布时间】:2013-05-17 01:13:06
【问题描述】:
我需要创建一个用户界面,每次用户移动到新页面时内容都会发生变化。但是,页眉和页脚保持不变。
但是,在内容中,有时会在某些页面上显示左窗格。 我不确定如何实现这一点,因为我是使用 JSF 的新手。
有人可以推荐一个方法吗?
谢谢!
【问题讨论】:
-
使用JSF模板,并创建不同的模板,然后为相应的页面使用合适的模板
我需要创建一个用户界面,每次用户移动到新页面时内容都会发生变化。但是,页眉和页脚保持不变。
但是,在内容中,有时会在某些页面上显示左窗格。 我不确定如何实现这一点,因为我是使用 JSF 的新手。
有人可以推荐一个方法吗?
谢谢!
【问题讨论】:
对于“令人费解”的页面组合,您需要使用模板。可以在How to include another XHTML in XHTML using JSF 2.0 Facelets? 的答案中找到很好的概述。布局本身与 HTML/CSS 相关,因此您需要先检查一下。
如果您想有条件地生成模板的一部分,有两种可能性:从主模板执行此操作,或从模板客户端执行此操作。当然,您可以按照其他人的建议创建许多模板,但在我看来这会适得其反并且难以维护。
如果你想有条件地渲染模板的一部分,你可以在主模板的JSF组件中包含rendered="#{view.viewId = '...'}"属性。
或者,如果您想“覆盖”模板的默认部分,例如左侧面板,只需在模板客户端中将目标区域定义为空白区域,例如 <ui:define name="left" />。
【讨论】: