Получение java.io.FileNotFoundException, когда клиент шаблона находится в подкаталоге - PullRequest
2 голосов
/ 19 ноября 2011

Я пытаюсь перейти на страницу администрирования, на которой есть подкаталог в папке webcontent, и получаю исключение java.io.FileNotFoundException. Использование Glassfish 3.1.1.

Мой

    war File:
         index.xhtml
         login.xhtml
         /admin/admin.xhtml

ссылка, которую я использую:

       <h:link value="Admin" outcome="admin/admin.xhtml"/>

Я надеялся, что неявная навигация сможет справиться с этим?

Заранее спасибо,

Scott

1 Ответ

4 голосов
/ 19 ноября 2011

Ваш <h:link> выглядит отлично, хотя я бы просто обрезал расширение .xhtml, чтобы минимизировать неоднозначность шаблона и FacesServlet, о которой JSF уже позаботился для вас.

Вам нужно прочитайте сообщение о FileNotFoundException, которое вы там получили.Мои центы в том, что он на самом деле указывает на файл шаблона, который вы используете в <ui:composition template> из admin/admin.xhtml.Вы хотели бы указать абсолютный путь там, то есть начиная с /, чтобы он разрешался относительно корня веб-содержимого, в противном случае он разрешается относительно местоположения текущего шаблона клиента.

Например, не так:

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

, который будет искать /admin/WEB-INF/admintemplate.xhtml, а скорее так:

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

Обратите внимание, что это не связано с неявнымнавигации.У вас точно такая же проблема при открытии страницы напрямую.

...