Featured Posts

ExtJS, Spring MVC 3 e Hibernate 3.5: Exemplo de um... Este tutorial demonstra como implementar um CRUD Grid (Create, Read, Update, Delete) usando ExtJS, Spring MVC 3 e Hibernate 3.5 O que geralmente queremos fazer com os dados Create (Criar) - (Insert) Read...

Readmore

ExtJS plugin: PagingToolbarResizer Ei pessoal, Este é o meu primeiro plugin em ExtJS. Apesar de não ser algo complicado, estou muito feliz e é um grande feito para mim! Bem, chega e introduções e vamos ao que realmente interessa. O...

Readmore

8++ perguntas para @loiane - por @hlegius Tempos atrás o Helio me enviou um questionário para eu responder, uma espécie de "entrevista". E agora ele publicou no blog dele! :) São minhas opiniões pessoais, e isso não quer dizer que estou...

Readmore

Carreira em TI: Currículo em Inglês Uma das grandes dificuldades para as pessoas da área de TI é, muitas vezes, escrever um bom currículo em inglês. E ter um currículo em inglês, é essencial, já que inglês é tão importante quanto...

Readmore

Entrevista para o Jornal A Tribuna Jan/2010: Profissões... Na última de semana de janeiro tive a honra de conceder mais uma entrevista para o jornal A Tribuna - vendido no Espírito Santo, meu estado natal - sobre mercado de trabalho na área de TI. A reportagem...

Readmore

Como Montar um Grid utilizando Ext JS + Json + Java

Posted by Loiane | Posted in Ext JS, json | Posted on 06-07-2009

10

No primeiro exemplo de grid utilizando Ext JS, foi utilizado um array simples para popular a tabela. Porém, pode ser que alguma aplicação precise mostrar uma tabela/grid de dados estáticos, mas na
maioria dos casos, precisamos buscar essas informações em um banco de dados.

O post de hoje tem como objetivo mostrar como construir um grid em Ext JS utilizando as informações contidas em um objeto Json, que foi gerado pelo java.

Vamos pegar o código utilizado para contruir o grid com um array simples e fazer algumas modificações para obter os dados do Json:

gridsimples_store

A principal mudança está na modificação do data.Reader, e neste, vamos modificar 3 pontos básicos:

- Precisamos acrescentar a url de configuração, que especifica o local onde está o dado/json.
- Precisamos acrescentar um reader (JsonReader), que é responsável por ler e manipular as informaçõescontidas no Json.

- Precisamos dizer qual é o elemento raiz do json, ou seja, qual é o elemento que possui os dados que irão popular a tabela/grid

O novo data.Store ficará assim:

gridjson01

Ou seja, vamos obter os dados em formato Json de um arquivo chamado contatojson.jsp, cujo elemento principal (root) chama-se rows e tem um total X de elementos (totalProperty – opcional).

Vamos dar uma olhada agora no arquivo contatojson.jsp:

gridjson02Como o foco principal deste post é obter o dado Json, fiz um jsp com scriplet mesmo, apesar de feio, é bem simples (mas não façam isso em casa nem no trabalho! =D)

A classe ContatoJson possui um único método que tem como objetivo gerar o objeto em formato Json:

gridjson05

Note a linha: JSONArray jsonArray = JSONArray.fromObject(contatos);

Utilizei a biblioteca json-lib para fazer o parse. Para maiores informações, consulte: http://json-lib.sourceforge.net/

A classe Contato é apenas um POJO com 4 atributos: nome, email, telefone, aniversário. E a classe GeradorContatos também possui um único método que gera alguns contatos.

Na url, você pode colocar também o nome do arquivo que já possui a informação em formato json:

gridjson03

E o resultado:

gridjson04

Como já dito em posts anteriores, você também pode colocar a url de uma action do Struts ou Spring, e utilizar em seus projetos MVC.

O código completo desse post você pode fazer o download aqui (formato projeto Eclipse)

download

E se ainda não sabe como fazer para importar o projeto no eclipse e executar, pode conferir aqui.

Até a próxima!

:)

  • Share/Bookmark

Posts Similares

Comments (10)

AHEuhaeuhuaheae … êta minia do JS!

Bacanasso o artigo! :) Vô retuitá tá ?

Muito massa esse tutorial… já tentou implementar REST com Jersey?

Ainda não, mas vou estudar sobre isso.
Valeu pela dica! :)

Muito bom o post não vejo a hora de começar estudar Ext JS, parabéns!

[...] já postei aqui no blog sobre Ext JS (aqui, aqui e aqui), JSON (aqui e aqui) e Spring (aqui). O objetivo do post de hoje é juntar todas essas [...]

Parabens pelo tutorial utilizando JSON, a didática esta legal, eu estou atrás de artigos na web falando a respeito de json e exemplos de aplicações. Eu só não entendi uma coisa… No seu projeto, dentro de WEB-INF existe um arquivo chamado “contatos.json” e nele contem td a saída que o json espera… a dúvida é: Pra que esse arquivo esta servindo? Como devo utiliza-lo?

Olá Ricardo,

Coloquei esse arquivo apenas como exemplo.

Num projeto de verdade, devemos utilizar os dados que buscamos no servidor.
Mas você também pode utilizar um arquivo estático como esse, como por exemplo, se tiver mostrando um grid com os estados do Brasil, pode utilizar o arquivo, afinal, esses dados não sofrerão mudanças.

Loiane, muito legal seus posts sobre ExtJS, pore´m estou com uma dúvida, consigo imprimir na tela os dados do Json porém não consigo colocá-los na Grid. Até mais!

Como tá seu codigo do store com o grid? Pode enviar ou postar?
Abraços

Please, help me, how to do this application with google app engine, thanks. It cannot read the json file. It needs maybe other libraries?

Write a comment