Whats new? | Login | Parceiros
Cadastre-se | Atendimento | RSS
+ Java:
artigos   |   vídeos   |    cursos   |    mais

Conhecendo o Ajax4Jsf

Ajax4Jsf é um framework que adiciona capacidade Ajax nas aplicações que utilizam JSF sem recorrer ao JavaScript.

RAFAEL DE PAULA SOUZA
Rafael de Paula Souza (rafael.bnc@gmail.com), está cursando Engenharia de Computação na FURG. Atualmente faz estágio na área de soluções para Web em Java, utilizando JSF e demais frameworks.


Ver space do autor


Estatísticas:
Visualizações:
42679
Favoritado:
 18 vez(es)
Conteúdo:
Didática:
Utilidade:
5 1
votos: 10

Serviços:



Conhecendo o Ajax4Jsf

 

Introdução

Ajax4Jsf é um framework que adiciona capacidade Ajax nas aplicações que utilizam JSF sem recorrer ao JavaScript. O principal objetivo do framework é fazer chamada das Actions ou ActionListeners no Managed Bean de forma assíncrona, obedecendo todo ciclo de vida do Faces, e depois fazendo uma atualização de um ou mais componentes especificados nos atributos da tag.

 

Instalação

A instalação do Ajax4Jsf é muito fácil, para isso basta seguir os passos a seguir.

·         Fazer download da distribuição em - http://labs.jboss.com/portal/jbossajax4jsf

·         Copiar os Jars “ajax4jsf-1.1.0.jar” e “oscache-2.3.2.jar” do Ajax4Jsf para a pasta WEB-INF/lib da sua aplicação.

·         Adicionar as configurações do filter do Ajax4Jsf no arquivo web.xml.  

·         Importar o ajax4jsf nas paginas da sua aplicação.

 

 

Configurando o web.xml

Adicione a seguinte configuração no arquivo web.xml:

<context-param> 

        <param-name>org.ajax4jsf.SKIN</param-name>

        <param-value>classic</param-value> 

</context-param>

<filter> 

<display-name>Ajax4jsf Filter</display-name>

<filter-name>ajax4jsf</filter-name>

<filter-class>org.ajax4jsf.Filter</filter-class> 

</filter>

<filter-mapping>

<filter-name>ajax4jsf</filter-name>

<servlet-name>Faces Servlet</servlet-name>

<dispatcher>REQUEST</dispatcher>

<dispatcher>FORWARD</dispatcher>

<dispatcher>INCLUDE</dispatcher>

</filter-mapping>

 

E para importar o ajax4jsf na sua pagina jsp use:

<%@ taglib uri="https://ajax4jsf.dev.java.net/ajax" prefix="a4j"%>

 

Se você estiver trabalhando com facelets:

<xmlns:a4j="https://ajax4jsf.dev.java.net/ajax">

 

AJAX Requests

Existem diferentes formas para fazer que suas paginas enviem AJAX requests. Para isso, você pode usar as seguintes tags: <a4j:commandButton>, <a4j:commandLink>, <a4j:poll> e <a4j:support>.

 

Essas tags escondem do programador o JavaScript que é necessário para enviar AJAX requests,  o que facilita muito o desenvolvimento de aplicações que utilizam essa tecnologia. Elas também permitem que você escolha quais componentes de sua pagina que serão “modificados” após o AJAX response (você pode listar os IDs desses componentes através do atributo “reRender”).

 

<a4j:commandButton> e <a4j:commandLink>: essas tags são usadas para enviar AJAX request através do evento “onclick”.

<a4j:poll>: usada para enviar AJAX request em um determinado tempo.

<a4j:support>: permite que qualquer componente JSF faça AJAX request através de um determinado evento JavaScript: “onkeyup”, “onmouseover”, etc.

 

Exemplos:

<h:inputText value="#{pessoa.nome}">

        <a4j:support event="onkeyup" reRender="texto"/>

</h:inputText>

<h:outputText id="texto" value="#{pessoa.nome}"/>

 

 

<h:form id=”form”>

        <h:inputText value="#{pessoa.nome}"/>

        <h:inputText value="#{pessoa.rg}"/>

        <h:inputText value="#{pessoa.cpf}"/>

        <a4j:commandButton reRender="form" action="#{pessoa.atualizar}" value="Atualizar" oncomplete = “alert(‘Dados atualizados’)”/>

</h:form>





Participe! Inclua um comentário
[Fechar]

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


andré
26/7/2007 12:01
Muito bom!!! Bem simples mas ajudou bastante.

[responder]

 
andre
1/9/2007 19:31
Errado No inicio deste post vc fala que o framework ajax4jsf, nao recorre ao uso de JavaScript, essa informacao nao é correta. Mas isso de forma alguma invalida o que foi feito.

[responder]

 
Rafael Souza
10/9/2007 12:55
RE:   Me expressei errado mas valeu ;-) Quis dizer que você não precisa saber JavaScript.

[responder]
 
Ana
17/9/2007 11:45
javascript não precisa saber javascript e não se escreve nenhum código javascript na página!

[responder]

 
bebad
20/9/2007 16:50
velho no caso, como tem que ser a funcao atualizar ???? preciso criar um mb com o nome de pessoa registrado no faces-config tb ????

[responder]

 
Rafael Souza
21/9/2007 09:31
RE:   Sim. Estou criando uma aplicação de exemplo junto com um novo artigo. Qualquer coisa podem me enviar dúvidas por e-mail. Falow um abraço.

[responder]
 
André Oliveira
20/10/2007 00:21
Plagio????? Foi você que escreveu este artigo ou Evandro Paes neste link http://evandropaes.wordpress.com/2007/06/01/conhecendo-o-ajax4jsf/ . Pois utiliza os mesmos exemplos

[responder]

 
Rafael Souza
21/10/2007 21:15
RE:   De maneira alguma esse artigo é um plagio. Basta você ter um pouco mais atenção no blog do evandropaes, e verá que o meu mini-curriculo está no topo do artigo.

[responder]
 
Rafael Souza
21/10/2007 21:15
RE:   De maneira alguma esse artigo é um plagio. Basta você ter um pouco mais atenção no blog do evandropaes, e verá que o meu mini-curriculo está no topo do artigo.

[responder]
 
Tojo
20/5/2008 09:27
RE:   Cara... não leve a mal, mas um dos dois plagiou o outro... enfim... na internet acontece bastante. enfim... fora isso, tá legal...

[responder]
 
Sergio Souza
23/5/2008 15:40
Por que não funciona? Olá, tentei utilizar desta maneira e não funciona! O que fiz de errado? h:selectOneMenu style="width:100; border-collor:

[responder]

 



 
 

[Este post ainda não foi associado a uma sequência]


[Fechar]
Este post está disponível para assinantes da Java Magazine ou para quem possui Créditos DevMedia.

  Conheça os planos de créditos DevMedia e visualize esse post agora mesmo!

Plano conveniência – Neste plano este post custa R$ 0,00 (Compre agora)
Esse plano permite que você compre somente um post, pagando por ele seu preço sem desconto.

Plano ocasional: Aqui este post custa: R$ -1,00 (assinante) ou R$ -1,00 (não-assinante)
Este plano é ideal para quem tem interesse em mais de um post. Você compra um mínimo de R$ 50,00 em créditos e ganha, em média, 50% de desconto no preço do post. Compre Créditos agora!

Assinatura de Créditos (Plano econômico) – Aqui este post custa R$ -1,00
Este plano é ideal para quem tem interesse em muitos posts. Com esse plano você compra R$ 180,00 em créditos e ganha, em média, 80% de desconto no preço do post. Assine este plano agora!

> Saiba mais sobre o Sistema de Créditos DevMedia
DevMedia Group   www.devmedia.com.br   |   www.javafree.org   |   www.mrbool.com
2010 - Todos os Direitos Reservados a DevMedia Group - (21) 3382-5038