DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


VRaptor 3 - Revista Java Magazine 98 - Parte 4

No quarto e último artigo da série, daremos sequência ao estudo sobre o VRaptor 3 durante o desenvolvimento de uma aplicação web. Veremos como apresentar uma listagem de dados de forma dinâmica e estruturada junto a uma paginação via Ajax. També






Na terceira parte deste artigo vimos como deixar uma aplicação mais segura fazendo o controle de acesso e de permissão ao sistema. Além disso, também aprendemos como manipular arquivos criando a funcionalidade de enviar imagens para o sistema, bem como apresentá-las.

Agora, vamos focar nosso estudo na integridade dos dados, ou seja, nos preocupar com o conteúdo dos dados inseridos no sistema, garantindo sempre dados íntegros. Não podemos esperar que os usuários sempre digitem os dados da forma correta, por isso, se faz necessário a validação destas entradas. Validações estas que o VRaptor automatiza, facilitando o desenvolvimento de sua aplicação.

Voltando nossa preocupação para a apresentação dos dados, principalmente em grande quantidade, é comum planejarmos uma forma simplificada de visualizar e procurar os itens disponíveis em uma listagem. Para possibilitar a implementação de tais requisitos, hoje em dia encontramos diversas soluções visuais, no entanto, uma delas está em maior destaque entre as aplicações web: os plugins jQuery. Estes, em sua maioria, trabalham com um formato de dados bem flexível, chamado JSON. Vamos então estudar um pouco sobre ele.

Conhecendo o JSON

O JSON é um formato de dados que possibilita a manipulação de objetos Java em JavaScript de uma forma muito fácil e intuitiva. A maioria dos serviços disponibilizados na internet suporta este formato de dados e a cada dia temos mais ferramentas que trabalham diretamente com ele. O formato de seu conteúdo é bem simples. Ele fica envolvido por chaves, onde os dados são separados na estrutura chave:valor, como mostrado no exemplo a seguir:

 

{ "chave": "valor" }

 

O valor pode ser de diversos tipos, como texto, número, e até objeto, que é representado por outro bloco delimitado por chaves.

Quando houver mais de um elemento, estes devem estar separados por vírgula, conforme o exemplo:

 

{

  "nome": "Washington Botelho",

  "artigo": { "nome": "Vraptor 3", "parte": 4 }

}

 

No trecho acima temos dois elementos. O primeiro possui um valor texto e o segundo um objeto, que, por sua vez, possui dois outros elementos: um com o valor do tipo texto e outro do tipo número.

Além disso, o JSON também suporta listas de itens. Elas são reconhecidas por manter seu conteúdo envolvido por colchetes, como pode ser visto abaixo:

 

{

  "nome": "Washington Botelho",

  "artigo": { "nome": "Vraptor 3", "parte": 4 },

  "topicoList": [

    { "nome": "json" },

    { "nome": " xstream" }

  ]

}

 

Observe que neste código há valores do tipo String e do tipo objeto, assim como há a representação de uma lista de objetos. A princípio, podemos identificar um objeto por ter seus valores envolvidos por chaves, e uma lista por estar envolvida por colchetes.

Conhecendo o XStream

Apesar de o formato JSON ser bem fácil de entender, com o passar do tempo e com o aumento da quantidade de dados, fica um tanto quanto trabalhoso lê-lo, assim como manter sua estrutura. Por isso, existem diversas bibliotecas preparadas para trabalhar com este formato, sabendo transformar um objeto Java em JSON e JSON em objeto JavaScript. O VRaptor usufrui desta funcionalidade utilizando o framework XStream, tornando esta tarefa bem simples e dinâmica.

Assim, para iniciar a ação de serialização de um determinado objeto como, por exemplo, uma lista de filmes, podemos utilizar o objeto result do pacote do VRaptor, como mostrado a seguir:

 

result.use(Results.json());

 

Este objeto possui o método use() que recebe o tipo de dados esperado como resultado. No nosso caso, foi escolhido o formato JSON (Results.json()), pois queremos serializar a listagem de filme neste formato. Após a escolha do resultado é possível utilizar o encadeamento de métodos (Method Chaining) para passar o objeto a ser serializado e as configurações do resultado. Veja um exemplo:

 

result.use(json()).withoutRoot().from(entityList)

.include("objeto")

  .exclude("objeto.nome")

.serialize();

 

Note que neste código temos diversas instruções formadas pelo encadeamento de métodos. Cada um deles executa uma ação sobre o item a ser serializado.

A seguir é explicado o funcionamento de cada um destes métodos:

·         from(): indica o item a ser serializado;

·         include(): indica qual atributo do objeto incluir na serialização;

·         "



ATENÇÃO! A exibição deste artigo foi interrompida.


  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!






    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



Publicidade
Autor
Washington Botelho

É desenvolvedor Java EE/SE desde 2007 e aventureiro do mundo Rails. É Bacharel em Sistemas de Informação, certificado OCJA 1.0, OCJP 6 e trabalha na Concrete Solutions.


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
1   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03