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: ,,,,

3 comentários:

  1. Po cara . show de bola heim ... Passei uns 3 dias procurando algo sobre isso e n encontrei simples como sua explicação parabens pela iniciativa .. aproveitando .. vc poderia postar como consegue utilizar as imagens do Skin do PrimeFaces .. n consigo exibir elas em meu projeto !!
    Abraços .. diegoadricandido23@gmail.com

    ResponderExcluir
  2. Amigão,
    Ve se pode me ajudar, eu preciso da show no meu p:dialog só de carregar a página
    e pensei q o p:ajax podia fazer isso, mas ja tentei de tudo e nada, se puder ajudar, meu e-mail é: diego160291@msn.com

    ResponderExcluir
  3. Parabéns pela iniciativa. Eu estou iniciando meu aprendizado nesta área e é difícil achar conteúdo e exemplos. Obrigado.

    ResponderExcluir