Powered By Blogger

terça-feira, 1 de março de 2011

Alternativa ao autosubmit em JSF 2 com PrimeFaces

No final de 2010 tive a idéia de criar um blog, porém descobri que o mais difícil de um blog é postar nele, e o que postar nele. Ai decidi apagar todos os posts e agora estou retomando novamente.

Minha idéia inicial era e continua sendo a de postar coisas uteis para quem está desenvolvendo, assim como eu utilizando JSF 2 + Primefaces + Glassfish.

Espero que posso ser útil pra alguém, e pra mim também em forma de documentação, pois estou desenvolvendo um Sistema de Gestão Básico, mais para fins de estudo e para ajudar uma amigo em sua loja.

Vamos lá, quem reparou no titulo ai, pode achar meio estranho o termo autosubmit, mas para quem já trabalhou com o ADF da Oracle, essa é uma propriedade muito utilizada em alguns componentes dessa biblioteca.

A função dela nada mais é do que dar um submit na página assim que o foco sai do componente.

No meu sistema eu precisei de uma funcionalidade parecida, eu gostaria que em um determinado campo o usuário tivesse a opção de digitar o código de um produto e ele executa-se uma busca, e completa-se outros campos como nome e valor de um determinando produto. Mas como fazer isso usando o componente <h:inputText> que não possui uma propriedade parecida com o autosubmit, sem usar também javascript.

Eis que surge, depois de apanhar um pouco, e pesquisar muito na net e na documentação do primefaces, descobri a tag <p:ajax> que eu já havia utilizado para atualizar um componente através da propriedade update, que convenhamos é uma mão na roda, poder atualizar um componente somente passando o ID dele para a propriedade, porém essa tag <p:ajax> também possui uma propriedade listener, que pode chamar um método no Manager Bean.

 

1 <h:inputText size="14" value="#{vendasMbean.produtos.idProduto}">
2 <p:ajax event="blur" listener="#{vendasMbean.buscaProduto}" update="nome, preco"/>
3 </h:inputText>

image

O campo Código o usuário caso saiba de cabeça, pode digitar para agilizar o processo, com isso os campos Produtos e Valor, é preenchido automáticamente.

É uma dica simples, porém de muita utilidade pelo menos eu apanhei um pouco até descobrir.  

Até a próxima, espero que possa ser util pra mais alguém.



Technorati Marcas: ,,,,