Я модернизирую веб-приложение JSF, которое я взял на себя от человека, который вышел на пенсию и недоступен для вопросов.
Текущая задача — упростить h:dataTable. Каждая запись имеет commandLink для перехода на соответствующую страницу сведений.
Старая версия: метод действия openDetail() определял выбранную запись путем привязки таблицы данных и перебора записей для получения строки.
Новая версия: метод действия теперь называется openDetail(Long id), и, конечно же, я также добавил этот параметр в ссылку на команду.
Мой метод действия вызывается с правильным параметром, я проверил это, добавив некоторый вывод журнала. Но правило навигации больше не действует. Хотя метод действия возвращает правильный результат, он остается на странице с таблицей.
Правило навигации в faces-config.xml выглядит следующим образом:
<navigation-rule>
<from-view-id>*</from-view-id>
<navigation-case>
<from-action>#{myBean.openDetail}</from-action>
<from-outcome>success</from-outcome>
<to-view-id>/mysks/detail.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
Нужно ли адаптировать правило навигации? Влияет ли JSF на перегруженные методы действий?