У меня проблема с org.omnifaces.util.Faces # redirect и bean-компонентом с областью диалога:
есть кнопка
<p:commandButton action="#{navigationHandler.gotoCreateCar}"
actionListener="#{createHandler.init(searchHandler.search())}
value="#{msg.search}" update=":articleSearchForm">
<f:param name="cid" value="#{javax.enterprise.context.conversation.id}"/>
</p:commandButton>
который должен выполнять навигацию по странице createCar в той же области диалога после инициализации моего bean-компонента с областью диалога: createHandler.
В NavigationHandler # gotoCreateCar - это просто вызов Faces.redirect (createCarPage).
Если мне это нравится, параметр cid не передается, и я теряю разговор.
Если я определю правило навигации в faces-config.xml:
<navigation-case>
<from-outcome>createCar</from-outcome>
<to-view-id>/portal/createCar.xhtml</to-view-id>
<redirect />
</navigation-case>
а в NavigationHandler # gotoCreateCar просто верните нужный результат - тогда все будет нормально.
Возможно, я не понимаю всех деталей разницы между этими двумя подходами к навигации. Я был бы признателен, если бы кто-нибудь помог мне разобраться в проблеме.
Спасибо!