Fala galera, meu problema é o seguite, estou tentando mostrar mensagens de erro que eu crio no método de navegação do meu managed bean, que está com escopo de request, quando a minha reqra de navegação está sem o (faces-config), tudo funciona perfeitamente, mas quando eu coloco o redirect as mensagens não são mostradas, e eu preciso do redirect pra pegar a url correta da página requisita porque é baseado nela que eu faço a segurança do sistema (verifico se o usuário tem permissão para acessar a página, através de um servlet filter) . Alguém já passou por isso? Podem me ajudar?
...
<managed-bean>
<managed-bean-name>MeuMBean</managed-bean-name>
<managed-bean-class>teste.MeuMBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<navigation-rule>
<from-view-id>/pagina1.xhtml</from-view-id>
<navigation-case>
<from-outcome>success</from-outcome>
<to-view-id>/pagina2.xhtml</to-view-id>
<redirect/> <!-- esse é o meu problema -->
</navigation-case>
</navigation-rule>
...
esse é um exemplo do meu problema, se vc tentar tentar rodar esse exemplo, com certeza, na pagina2.xhtml não será mostrada nenhuma mensagem. O Problema é o nó na regra de navegação (faces-config.xml), se eu tirar ele, a mensagem aperece bonitinha, porem a url mostrada no navegador é a url da página anterior e no meu sistema eu faço a autorização de usuário através da url, tenho um filtro que recupera a url requisitada e baseado nas permissões do usuário o sistema pode ou não mostrar a página requisitada, só que sem o redirect essa validação não funciona por que a url não confere com a url da página atual.
fala Leozin, isso não funciona, acho que vc se confundiu, o primeiro parâmetro do método “addMessage()” recebe o “clientId” e não o “viewId”, mas de qualquer forma obrigado pela tentativa.