如何在不同的文件夹中包含JSF模板

时间:2013-08-07 04:22:17

标签: templates jsf layout facelets

我一直在搜索本论坛的所有部分,仍然没有得到关于我的问题的答案。

我的问题是如何包含位于不同文件夹中的JSF模板。这是我的文件夹结构和文件列表。

/WEB-INF
login.xhtml
/template
-----layout.xhtml
/home
-----homefile.xhtml
-----/user
----------userfile.xhtml

我尝试做的是使用homefile.xhtmluserfile.xhtml下的/ template文件夹下的模板。我已经尝试了以下代码

<ui:composition template="template/layout.xhtml">
</ui:compostion>

但它不起作用。我收到了“无法找到资源”模板/ layout.xhtml“&gt;的错误。 如果我在login.xhtml中使用该代码,它的工作正常。

知道怎么做吗? 其中一个解决方案是在主文件夹中创建另一个/template/layout.xhtml,但我认为它不是最佳解决方案。

1 个答案:

答案 0 :(得分:1)

在模板位置前面添加斜杠,如下所示:

<ui:composition template="/template/layout.xhtml">
</ui:compostion>

这应该有效。位置template/layout.xhtml相对于“当前文件夹”,这意味着JSF将尝试加载/home/template/layout.xhtml