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!


Dominando a API de AJAX do JSF - Revista Java Magazine 97

Veremos neste artigo o conceito envolvido na tecnologia AJAX e porque é tão importante incorporá-la às aplicações. Posteriormente são detalhados todos os recursos que o JavaServer Faces, em sua versão 2.0, oferece ao desenvolvedor.






Adicionar AJAX em aplicações web aprimora a interação do usuário com a aplicação. O propósito ao utilizar esta tecnologia é fornecer ao usuário final uma experiência agradável, isto é, uma boa usabilidade para que ele possa usufruir das funcionalidades do software. Com este recurso é possível enviar requisições assíncronas ao servidor sem a necessidade de recarregar toda a página.

Embora seja um conceito antigo, apenas nos últimos anos seu uso passou a ganhar atenção, e ao que tudo indica, a Google foi a primeira a implementar esta tecnologia em seus serviços, como é o caso do Gmail e do Google Maps.

Para compreender a importância e utilidade do AJAX, imagine um formulário grande, no qual após o preenchimento o usuário deve clicar em um botão para enviar os dados ao servidor. Em seguida o servidor processa os dados recebidos e retorna para o usuário uma mensagem de sucesso ou os possíveis erros encontrados. Não seria melhor se o usuário fosse informado dos campos com dados incorretos durante o preenchimento do formulário?

Este é apenas um exemplo da usabilidade que esta tecnologia oferece. Neste contexto, neste artigo vamos apresentar como implementar esse tipo de recurso empregando JavaServer Faces 2 e sua API para AJAX.

O que é AJAX?

AJAX é o acrônimo para Asynchronous JavaScript and XML (ou JavaScript e XML Assíncronos). Esta tecnologia é uma técnica que une ferramentas já existentes a requisições e respostas assíncronas.

Para entender o funcionamento desta técnica, primeiro é necessário saber como funciona o modelo cliente-servidor. Neste modelo, o cliente envia uma requisição ao servidor e aguarda pela resposta, ou seja, solicita ao servidor para que ele processe algo e espera por um retorno. O servidor processa essa requisição assim que ela chega, e quando esta operação estiver concluída, uma resposta é gerada e enviada para o cliente.

No caso do AJAX, o cliente referenciado no cenário acima, é o browser do usuário, que executará o código escrito na linguagem JavaScript. Este é desenvolvido de forma que dispare requisições para o servidor conforme o usuário interage com a página. Essas requisições são assíncronas porque elas são enviadas para o servidor e processadas de maneira não ordenada, ou seja, não possuem sincronia.

Assim que as requisições chegam ao servidor, elas são processadas, e ao finalizar o processamento da requisição, uma reposta é gerada e enviada para o cliente, geralmente em XML. Quando essa resposta chega ao cliente, o código JavaScript a interpreta e atualiza os valores da página, caso necessário.

Nos dias de hoje existem vários frameworks que auxiliam no desenvolvimento de aplicações AJAX. O JavaServer Faces é um deles, e em sua versão 2.0, passou a suportá-lo nativamente. Deste modo, as requisições e os códigos JavaScript são encapsulados dentro de componentes, logo, na maioria dos casos, não é necessário escrever código em JavaScript.

A implementação deste cenário e como funciona o ciclo de uma requisição AJAX será demonstrado em detalhes no decorrer do artigo.

AJAX nas versões anteriores e no JSF 2

Nas versões anteriores do JavaServer Faces, a utilização de AJAX era possível por meio do uso de frameworks de terceiros, tais como RichFaces, PrimeFaces, entre outros. No entanto, também era possível implementar uma biblioteca própria para tratar as requisições/respostas de forma assíncrona e manipular os XMLs.

Repare no exemplo da Listagem 1, que usa o framework RichFaces. Com este código, conforme o usuário digita algo no componente de caixa de texto, requisições são disparadas para o servidor, atualizando o valor do atributo texto do bean myBean. Este valor é capturado pelo componente <h:outpuText> a cada resposta do servidor que chega ao cliente.

 

Listagem 1. Implementando AJAX com RichFaces.

<h:inputText id=”texto” value=”#{myBean.texto}”>

<a4j:support event=”onkeyup” reRender=”outputText” />

</h:inputText>

"



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!






    1 COMENTÁRIO

[Fechar]

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



Alexsander Pereira Konowalow
uma correção boba no código da listagem 10:

switch(dataObject.status) {

para

switch(request.status) {
[há +1 mês] - Responder

 



[Este post ainda não foi associado a uma sequência]
Publicidade
Autor
João Ricardo Petreli Jorge

Bacharel em Análise de Sistemas pela Faculdade de Tecnologia de Ourinhos – FATEC e mestrando em Engenharia da Computação pelo IPT na USP. Neste período atuou nas áreas de desenvolvimento de sistemas VoIP, Web e na manutenção do sistema de registro de domínios brasileiros. Nas horas vagas mantém o bl...


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   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