【发布时间】:2012-10-11 13:59:04
【问题描述】:
我有一个 facelet 模板,其中包含一个菜单以及以下代码中未包含的其他内容:
<h:head>
..............................
</h:head>
<h:body>
<ui:include src="/menu.xhtml" />
..............................
..............................
<h:body>
这个模板在 30 岁左右被我所有的页面使用:
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jsp/jstl/core"
template="/layout/template.xhtml">
</ui:composition>
很少有页面需要使用模板中除菜单之外的所有内容。有没有办法从这些页面中指定不显示菜单。
我正在寻找一种在 facelets 中的方法,比如传递一个 facelet 参数或其他东西。我想到了以下选项,但我试图避免它们:
- 创建另一个与现有模板完全相同但没有菜单的模板并在这些页面中使用它
- 从模板中取出菜单并在需要的页面上使用,但这意味着将菜单添加到大约 25 页,我想将菜单保留在模板中。
【问题讨论】:
-
为什么这个问题会同时标记 JSF 1.2 和 JSF 2.0?这只是令人困惑。如果您使用的是 JSF 2.0,请不要标记 JSF 1.2。如果您使用的是 JSF 1.2,请不要标记 JSF 2.0。如果您尝试了 both 并且在 both 版本中出现了相同的问题,请删除这两个标签并坚持使用
[jsf]标签。 -
我删除了 JSF 1.2 和 JSF 2.0 标签