Bom dia ! Estamos migrando uma aplicação de RichFaces/JSF1.2 para PrimeFaces/JSF2.0, e me deparei com um problema.
Seguinte, reparem minha condição no oncomplete do dialog:
<p:dialog header="Teste" widgetVar="dialog" width="500" height="320" showEffect="fade" hideEffect="explode">
<p:commandButton value="Salvar"
image="ui-icon ui-icon-disk"
actionListener="#{meuController.Salvar}"
update="datatable, msgValidacao"
oncomplete="if (#{meuController.teste == true}) dialog.hide()" />
</p:dialog>
Antes eu fazia essa condição no oncomplete numa boa, faço a validação de alguns campos de um form no controller, e caso a variavel retorne true, eu fecho o modal, caso contrário apenas exibo os erros na tela.
Porém agora com JSF2.0/PrimeFaces não consigo implementar isso, acredito ser algo relacionado a sessão, pois o if está OK, se eu fizer fixo (“if (#{true == true}) dialog.hide()”) ele funciona numa boa.
Já coloquei várias anotações relacionadas com a sessão e não fui feliz com nenhuma delas.
Já testei também das 2 formas (Utilizava a primeira antes numa boa):
oncomplete="if (#{meuController.teste == true}) dialog.hide()"
oncomplete="if (#{meuController.teste} == true) dialog.hide()"
Preciso fazer a validação no Controller, não posso usar os validators da vida do PrimeFaces/JSF.
Obrigado,