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