|
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>
|