Я просто переключаюсь с Мохарры на Myfaces.В основном это не слишком хлопотно, но правила навигации не работают, как раньше.У меня проблемы с перенаправлением в случае навигации:
<navigation-case>
<from-outcome>test.edit</from-outcome>
<to-view-id>/test.xhtml</to-view-id>
<redirect/>
</navigation-case>
Любая навигация по ссылкам команд, например, приведенная ниже, приведет к ошибке 403 (доступ запрещен):
<h:commandLink value="Add" id="test" action="test.edit"/>
В этомконкретный случай, когда браузер пытался перенаправить на test.xhtml (не test.jsf).Этому препятствуют ограничения безопасности в web.xml.Конечно, если вы удалите ограничения безопасности, вы будете использовать необработанный xhtml.
Если я удаляю перенаправление, он работает просто отлично, но, конечно, не меняет URL браузера.
Также я имел обыкновение выполнять навигацию по пустым результатам, таким как:
<navigation-rule>
<from-view-id>/test.xhtml</from-view-id>
<navigation-case>
<from-action>#{bean.save}</from-action>
<if>#{true}</if>
<to-view-id>/list.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
Однако, когда ajax-запрос отправляется для динамического отображения списка (без вызова метода bean.save)тогда страница перенаправляется.