У меня есть файл index.xhtml в папке WebContent, которая является моей главной страницей. Там я могу отправить некоторые данные контроллеру, который затем перенаправит файл list.xhtml, расположенный в WEB-INF/jsf/. list.xhtml находится в WEB-INF/jsf/, поэтому его нельзя было получить без отправки данных с индексной страницы.
В любом случае перенаправление из index.xhtml в list.xhtml отлично работает (<p:commandButton/>
с действием на контроллер). Проблема заключается в переходе из списка.xhtml в index.xhtml. Независимо от того, что я делаю, это, похоже, не работает.
До сих пор я пробовал:
<h:button value="Go Back" outcome="index.xhtml"/>
- кнопка greyed out с сообщением This button is disabled because a navigation case could not be matched
. Предполагая, что, поскольку он ищет index.xhtml в WEB-INF/jsf/
<h:button value="Go Back" outcome="../../index.xhtml"/>
- тот же результат, что и выше
<p:commandButton value="Go Back" action="#{listController.goBack}"/>
и action="#{goBackController.goBack}"
- с помощью метода goBack(), возвращающего то же самое, что и в исходных значениях в предыдущем Примеры
Если бы кто-нибудь мог подтолкнуть меня в правильном направлении, которое было бы высоко оценено.
Также я знаю, что веб-страницы не должны быть действительно в WEB-INF, но я не знаю, как еще скрыть страницу list.xhtml.
Есть два вопроса о outcome
которые вам нужно знать:
.xhtml
как значение для outcome
. Например, если имя страницы - Example.xhtml
, правильным способом является outcome="Example"
.http://yourdomain.com/app/folder/Page1.xhtml
, если вы нажмете на кнопку с outcome="Page2"
, вы прибудете на http://yourdomain.com/app/folder/Page2.xhtml
. Вы не можете использовать ../
в outcome
чтобы перейти к родительской папке.Попробуй это:
<p:button value="Go back" href="../../index.xhtml" />
Если это не сработает, установите абсолютный путь в href
чтобы выполнить задание.
<navigation-rule> <from-view-id>WEB-INF/jsf/list.xhtml</from-view-id> <navigation-case> <from-outcome>Index</from-outcome> <to-view-id>/index.xhtml</to-view-id> </navigation-case> </navigation-rule>
<p:button value="Go Back" href="index.xhtml" />
сработало.