Навигация по страницам с помощью JSF

Наверное, это простой вопрос, но я не знаю на него ответа.

У меня есть проект myProject. В webContent у меня есть файлы home.xhtml, leave.html и еще 2 папки: кошки и собаки. В каталоге кошек у меня есть страница cat.xhtml, а в каталоге собак у меня есть страница dogs.xhtml.

Я хочу перейти с каждой страницы (дом, кошки, собаки) на страницу leave.html В каждом файле есть commandLink

<h:form>
    <h:outputLink value="leave.html" action="#{myBean.leave}">
        <f:verbatim>Leave</f:verbatim>
    </h:outputLink>
</h:form>

myBean в методе leave возвращает строку "оставить"

<navigation-rule>
    <from-view-id>*</from-view-id>
    <navigation-case>
        <from-outcome>leave</from-outcome>
        <to-view-id>/leave.html</to-view-id>
    </navigation-case>
</navigation-rule>

Но это не работает. Я также пробовал использовать <to-view-id>../leave.html</to-view-id> или добавить новую папку leave и поместить туда страницу leave.html. Я использовал <to-view-id>/leave/leave.html</to-view-id> или <to-view-id>/../leave.html</to-view-id>

но у всех один и тот же результат HTTP-статус 404 /myProject/cats/leave.htlm type Отчет о состоянии

сообщение /myProject/cats/leave.htlm

описание Запрошенный ресурс ( /myProject/cats/leave.htlm) недоступен.


person teo panait    schedule 09.02.2011    source источник
comment
Если вам нужно добавить дополнительную информацию, просто обновите свой вопрос.   -  person Tim Post♦    schedule 09.02.2011


Ответы (1)


Ваша навигация не работает, потому что страница всегда переходит на «leave.html». h:outpuLink использует свойство value для навигации. Я предлагаю вам использовать h: commandLink и использовать свойство value для отображаемой ссылки (Leave) и свойство action для исходной строки.

<h:commandLink value="Leave" action="#{myBean.leave}"> 
person besc    schedule 09.02.2011