JavaScript).Ajax permite atualizacao assincrona e parcial da camada de apresentacao, ou seja, funcionalidades Ajax podem trocar informacoes com o servidor sem a necessidade de submeter ou atualizar a pagina inteira (refresh).Usando Ajax com JSF.Funcionalidades Ajax podem ser adicionadas a aplicacoes JSF de uma das duas maneiras seguintes:Programando a funcionaliade Ajax em JavaScript diretamente na pagina.Usando uma biblioteca com funcionalidades Ajax embutidas.A plataforma JEE 6 suporta Ajax por uma biblioteca JavaScript embutida. Logo, os componentes UI JSF respondem a funcionalidades Ajax. Voce tambem pode carregar esta biblioteca JavaScript e usar diretamente seus metodos dentro dos Managed Beans.A tag JSF especifica para Ajax e f:ajax e seus atributos serao explicados a seguir. AtributoTipoDescricaodisabledjavax.el.ValueExpression retorna um BooleanSe true o comportamento Ajax nao deve ser renderizado, se false, o comportamento Ajax deve ser renderizado, o default e false. eventjavax.el.ValueExpression retorna uma StringUma String que identifica o tipo de evento em que a acao Ajax sera aplicada. Se especificado, deve ser um dos eventos suportados pelo componente. Se nao especificado, o evento default (o evento que dispara a requisicao Ajax) e determinado para o componente. O evento dafult eaction para componentes ActionSource e valueChange para componentes EditableValueHolder.executejavax.el.ValueExpression retorna umObjectUma Collection que identifica uma lista de componentes para ser executada no servidor. Se uma literal e especificada, deve ser uma Stringdelimitada por espacos de identificadores de componentes e/ou uma das palavras chave. Se uma ValueExpression e especificada, deve referenciar uma propriedade que retorna uma Collection de String objetos. Se nao especificada, o valor default e @this.immediatejavax.el.ValueExpression retorna um BooleanUm Boolean que indica se a entrada e para ser processada antes do ciclo de vida. listenerjavax.el.MethodExpressionO nome do metodo listener que sera chamado quando umAjaxBehaviorEvent for disparado.oneventjavax.el.ValueExpression retorna uma StringO nome da funcao JavaScript que ira manipular os UI events.onerrorjavax.el.ValueExpression retorna uma StringO nome da funcao JavaScript que ira manipular os erros.renderjavax.el.ValueExpression retorna um ObjectUma Collection que identifica uma lista de componentes a serem renderizados. Se uma literal e especificada deve ser uma String delimitada por espacos de identificadores de componentes e/ou de palavras-chave. Se uma ValueExpression e especificada, deve referenciar uma propriedade que retorna uma Collection de objetosString. Se nao especificada, o valor default e @none.Palavra-chaveDescricao@allTodos os componentes identificados@formOs componentes do formulario@noneNenhum componentes identificado@thisO elemento que disparou a requisicaoExemplo de uso da tag f:ajax<h:inputText value=""> <f:ajax /></h:inputText>Note que quando voce usa a tag f:ajax em uma pagina Facelets, a biblioteca JavaScript que suporta Ajax que ja vem no J2EE 6 e carregada implicitamente. Este recurso tambem pode ser carregado explicitamente, veja mais detalhes em Loading JavaScript as a Resource no The Java EE 6 Tutorial.No proximo post veremos como enviar uma requisicao Ajax e receber uma resposta. Ate la.