我在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 / *”
我做错了什么?尝试了我能想到的每个变体,但我无法得到正确的语法。
由于
答案 0 :(得分:1)
根据评论,您在HTML输出中看到<ui:composition>
未解析。
这只能意味着您在浏览器地址栏中的请求网址与FacesServlet
的网址格式不匹配。确保它与FacesServlet
的网址格式匹配。您已将其映射到/faces/*
,因此该网址应在上下文路径之后包含/faces
路径前缀。
最好是直接在FacesServlet
上映射*.xhtml
,这样您就不需要摆弄虚拟网址。