I have problem with org.omnifaces.util.Faces#redirect and conversation scoped bean:
there is a button
<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>
which must do a navigation to createCar page within the same conversation scope after init of my conversation scoped bean: createHandler.
In the NavigationHandler#gotoCreateCar is just a call of Faces.redirect(createCarPage).
If I do like this the parameter cid is not transfered and I lose my conversation.
If I define a navigation rule in faces-config.xml:
<navigation-case>
<from-outcome>createCar</from-outcome>
<to-view-id>/portal/createCar.xhtml</to-view-id>
<redirect />
</navigation-case>
and in the NavigationHandler#gotoCreateCar just return the needed outcome - then it works fine.
Maybe I do not understand every detail in the difference between this two navigation approaches. I would be appreciated if somebody could help me to understand the problem.
Thanks!