JSF ссылки на представление, которое использует шаблон - PullRequest
2 голосов
/ 11 ноября 2011

Привет, это моя структура папок:

-Web Pages
 -WEB-INF
   -template.xhtml
 -gebruiker
   -index.xhtml
 -index.xhtml

и сейчас я пытаюсь связать файл index.html с gebruiker / index.xhtml

Я делаю это следующим образом:

index.xhtml:

<h:form>
    <h:commandButton value="gebruiker" action="#{labelController.gebruiker()}"/> 
</h:form>

боб:

public String gebruiker(){
        return "gebruiker/index";
    }

И если я запускаю это, я получаю IO.FileNotFoundException без каких-либо полезных подробностей ...

Я знаю, что проблема в том, что index.xhtml в папке gebruiker использует шаблон, который выглядит следующим образом:

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                template="./WEB-INF/template.xhtml">

    <ui:define name="title">
        Project Label Configurator
    </ui:define>

    <ui:define name="body">
        GEBRUIKER PAGINA
    </ui:define>

</ui:composition>

Когда я использую обычный xhtml вместо тегов композиции, отображение работает.

Кто-нибудь знает почему?

my web.xml:

<servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>

1 Ответ

2 голосов
/ 11 ноября 2011
template="./WEB-INF/template.xhtml"

Удалить этот период.

template="/WEB-INF/template.xhtml"

В противном случае он ищет файл /gebruiker/WEB-INF/template.xhtml.Точка в качестве 1-го символа означает «начало в текущей папке», а косая черта в качестве 1-го символа означает «начало в корне».


Не похоже на конкретную проблему, кажетсядля реализации постраничной навигации.Я настоятельно рекомендую использовать для этого только запросы GET, а не POST.Это больше SEO и удобный для пользователя.

<h:link value="gebruiker" outcome="gebruiker/index" />

См. Также:

...