Referencia: The Java EE 6 Tutorial Sending an Ajax Request.Como prometido no post anterior Usando Ajax com JSF vou continuar nos estudos do The Java EE 6 Tutorial, agora mostrando como enviar requisicoes com Ajax.O Java EE 6 Tutorial mostra quatro formas para enviar requisicoes Ajax, sao elas:Usando o atributo event da tag f:ajaxO atributo event define que evento d o DOM ira disparar a acao ajax. Alguns valores possiveis sao click, keyup, mouseover, focus e blur.Se um valor nao for especificado para este atributo, ele ira assumir o evento default do componente pai da tag f:ajax correspondente.Componentes ActionSource, como commandButton, commandLink e inputText tem o valor do atributo action como alvo de seus eventos default.Exemplo:<h:commandButton id="submit" value="Submit"> <f:ajax event="click" /></h:commandButton><h:outputText id="result" value="#{userNumberBean.response}" />Note que estes eventos JSF, apesar de serem baseados em JavaScript, sao diferentes dos eventos do DOM que possuem o prefixo "on".Usando o atributo execute da tag f:ajaxDefine o componente ou componentes que serao executados no servidor. O componente e identificado pelo seu atributo id e voce pode especificar mais de um componente executavel, separando-os com um espaco em branco.Ao ser executado, o componente participa de todas as fases do ciclo de vida da requisicao, exceto da fase Render Response.O valor do atributo execute tambem pode ser uma palavra chave como @all, @none, @this e @form, explicados no post anterior Usando Ajax com JSF, referindo-se ao componente com que a tag f:ajax esta aninhada.A seguir, um exemplo mostrando como especificar que um inputText de id userNo seja executado no click de um commandButton de forma assincrona:<h:inputText id="userNo" title="Type a number from 0 to 10:" value="#{userNumberBean.userNumber}"> ...</h:inputText><h:commandButton id="submit" value="Submit"> <f:ajax event="click" execute="userNo" /></h:commandButton>Usando o atributo immediateSe seu valor estiver configurado para true, seus eventos serao propagados durante a fase Apply Request Values. O valor default e false. Conheca o ciclo de vida JSF para complementar entendimentos.Usando o atributo listenerUtilizado para referenciar um metodo do lado do servidor a ser executado por uma acao Ajax do lado do cliente. No seguinte exemplo o atributo listener da tag f:ajax chama um metodo em um bean quando o evento correspondente e disparado, observe:<f:ajax listener="#{mybean.someaction}" render="somecomponent" />Beleza?!Agora voce ja pode sofisticar as interacoes com usuario em sua camada de apresentacao JSF.No proximo post vamos falar de CDI. Ate la! Criando uma aplicacao JSP no NetBeans 7.3 The Java EE 6 Tutorial, Part II The Web Tier, Cap. 11 Using Ajax with JavaServer Faces Technology.Visao Geral sobre Ajax.Ajax refere-se a JavaScript e XML, tecnologias que sao amplamento usadas para criar conteudo web dinamico e assincrono. O foco deste tutorial esta em usar JavaScript em funcionalidades baseadas em Ajax em aplicacoes web JSF.JavaScript e uma linguagem orientada a objetos que permite adicionar funcionalidades a camada de apresentacao para interacoes assincronas com o cliente, onde e originalmente executada (tambem ha JavaScript Side Server).Quando uma funcao JavaScript envia uma requisicao assincrona para o servidor, o servidor envia de volta uma resposta usada para atualizar o DOM (Document Object Model) da pagina.A resposta do servidor nao precisa ser, necessariamente, em XML, tambem pode ser em JSON (formato de dados