Две вещи:
Во-первых, структура вашего проекта неверна.Все веб-файлы должны находиться внутри WebContent.
root
...
WebContent
META-INF
resources
css
images
javascript
templates
commonLayout.xhtml
footer.xhtml
header.xhtml
views
main
index.xhtml
WEB-INF
index.jsp
Это, однако, привело бы к ошибке 404, а не к этому исключению.Поэтому я предполагаю, что это была просто ваша небрежность при формулировании вопроса.
Во-вторых, если путь template
в ui:composition
начинается с /
, то он относится к WebContent.Но если он не начинается с /
, то это относительно текущего файла.Как и сейчас, Facelets попытается загрузить шаблон из /views/main/templates/commonLayout.xhtml
, что действительно неверно.Итак, исправьте ваш template
путь следующим образом:
<ui:composition template="/templates/commonLayout.xhtml">