Arquivos

Archive for agosto \29\UTC 2009

Client-side X Server-side em JSF. Onde salvar o estado?

Um das decisões mais debatidas em JSF ou Seam e que os desenvolvedores dão pouca importância é onde salvar a árvore de componentes da view. Há duas opções disponíveis: do lado do cliente (client-side) e do lado do servidor (server-side), cada uma com suas vantagens e desvantagens.

Para entender melhor, vamos ver o ciclo de vida do JSF, entender em que contexto se encontra a criação da árvore de componentes, e porque ela existe:

Leia mais

Implementando converter e validator de CNPJ

Dando continuidade ao assunto anterior, vou agora mostrar como criar converter e validator de CNPJ. Lembrando que a lógica de validação/conversão vai estar completamente inserida dentro das classes que implementam javax.faces.convert.Converter e javax.faces.validator.Validator. Aqui no meu trabalho colocamos essa lógica em classes Java separadas. Geramos um jar com essas classes e então colocamos esse jar no classpath da aplicação, evitando replicação de código.

Outro detalhe é que a classe de validação lança uma exception chamada FormatoCNPJException que é uma classe que extende Exception quando o CNPJ é inválido apenas para o código ficar mais claro. Não vou colocar o código dessa classe aqui no post para o artigo não ficar muito grande, portanto será necessário implementar essa classe caso você queira testar meu exemplo de validação.

Se você deseja entender melhor o que é um converter ou um validator, ou como eles funcionam, consulte meu post anterior aqui.

Leia mais

Implementando converter e validator de CPF

Recentemente me deparei no trabalho com alguns sistemas que exigiam a validação/formatação de CPF e de CNPJ. Achei que poderia solucionar o problema com javascript, mas considerei melhor criar validator e converter para cada um dos casos.

Nessa primeira etapa, vou mostrar a conversão e validação de CPF. Ressalto que a lógica de validação/conversão vai estar completamente inserida dentro das classes que implementam javax.faces.convert.Converter e javax.faces.validator.Validator. Aqui no meu trabalho colocamos essa lógica em classes Java separadas. Geramos um jar com essas classes e então colocamos esse jar no classpath da aplicação, evitando replicação de código.

Outro detalhe é que a classe de validação lança uma exception chamada FormatoCPFException que é uma classe que extende Exception quando o CPF é inválido apenas para o código ficar mais claro. Não vou colocar o código dessa classe aqui no post para o artigo não ficar muito grande, portanto será necessário implementar essa classe caso você queira testar meu exemplo de validação.

Leia mais

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.