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.
context-param
param-nameorg.ajax4jsf.SKINparam-name
param-valueclassicparam-value
context-param
filter
display-nameAjax4jsf Filterdisplay-name
filter-nameajax4jsffilter-name
filter-classorg.ajax4jsf.Filterfilter-class
filter
filter-mapping
filter-nameajax4jsffilter-name
<servlet-nameFaces Servletservlet-name
dispatcherREQUESTdispatcher
dispatcherFORWARDdispatcher
dispatcherINCLUDEdispatcher
filter-mapping
%@ taglib uri"https://ajax4jsf.dev.java.net/ajax" prefix"a4j"%
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: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>