1

我在 WEB-INF/templates/standardTemplate.xhtml 中有一个模板

在我的“网页”根目录中,我有一个 index.xhtml,它通过以下方式使用模板

<ui:composition template="/WEB-INF/templates/standardTemplate.xhtml">

以上工作正常。

但是,我还有另一个使用相同模板的页面,但它位于子文件夹“Web Pages”/messageboard/list.xhtml

它使用完全相同的语法/路径:

<ui:composition template="/WEB-INF/templates/standardTemplate.xhtml">

但它找不到模板,只呈现 list.xhtml 的内容(没有模板的内容)。

Faces servlet 映射到“/faces/*”

我究竟做错了什么?尝试了我能想到的所有变体,但我无法获得正确的语法。

谢谢

4

1 回答 1

2

根据评论,您<ui:composition>在 HTML 输出中看到未解析的内容。

这只能意味着您在浏览器地址栏中的请求 URL 与FacesServlet. 确保它与FacesServlet. 您已将其映射到/faces/*,因此 URL 应/faces在上下文路径之后包含路径前缀。

更好的是FacesServlet直接映射,*.xhtml这样您就不需要摆弄虚拟 URL。

于 2012-04-24T21:48:31.167 回答