Visão Geral sobre Ajax.
Ajax refere-se a JavaScript e XML, tecnologias que são amplamento usadas para criar conteúdo web dinâmico e assíncrono. O foco deste tutorial está em usar JavaScript em funcionalidades baseadas em Ajax em aplicações web JSF.
JavaScript é uma linguagem orientada a objetos que permite adicionar funcionalidades à camada de apresentação para interações assíncronas com o cliente, onde é originalmente executada (também há JavaScript Side Server).
Quando uma função JavaScript envia uma requisição assíncrona para o servidor, o servidor envia de volta uma resposta usada para atualizar o DOM (Document Object Model) da página.
A resposta do servidor não precisa ser, necessariamente, em XML, também pode ser em JSON (formato de dados JavaScript).
Ajax permite atualização assíncrona e parcial da camada de apresentação, ou seja, funcionalidades Ajax podem trocar informações com o servidor sem a necessidade de submeter ou atualizar a página inteira (refresh).
Usando Ajax com JSF.
Funcionalidades Ajax podem ser adicionadas a aplicações JSF de uma das duas maneiras seguintes:
- Programando a funcionaliade Ajax em JavaScript diretamente na página.
- Usando uma biblioteca com funcionalidades Ajax embutidas.
A tag JSF específica para Ajax é f:ajax e seus atributos serão explicados a seguir.
| Atributo | Tipo | Descrição |
|---|---|---|
| disabled | javax.el.ValueExpression retorna um Boolean | Se true o comportamento Ajax não deve ser renderizado, se false, o comportamento Ajax deve ser renderizado, o default é false. |
| event | javax.el.ValueExpression retorna uma String | Uma String que identifica o tipo de evento em que a ação Ajax será aplicada. Se especificado, deve ser um dos eventos suportados pelo componente. Se não especificado, o evento default (o evento que dispara a requisição Ajax) é determinado para o componente. O evento dafult é action para componentes ActionSource e valueChange para componentes EditableValueHolder. |
| execute | javax.el.ValueExpression retorna um Object | Uma Collection que identifica uma lista de componentes para ser executada no servidor. Se uma literal é especificada, deve ser uma String delimitada por espaços de identificadores de componentes e/ou uma das palavras chave. Se uma ValueExpression é especificada, deve referenciar uma propriedade que retorna uma Collection de String objetos. Se não especificada, o valor default é @this. |
| immediate | javax.el.ValueExpression retorna um Boolean | Um Boolean que indica se a entrada é para ser processada antes do ciclo de vida. |
| listener | javax.el.MethodExpression | O nome do método listener que será chamado quando um AjaxBehaviorEvent for disparado. |
| onevent | javax.el.ValueExpression retorna uma String | O nome da função JavaScript que irá manipular os UI events. |
| onerror | javax.el.ValueExpression retorna uma String | O nome da função JavaScript que irá manipular os erros. |
| render | javax.el.ValueExpression retorna um Object | Uma Collection que identifica uma lista de componentes a serem renderizados. Se uma literal é especificada deve ser uma String delimitada por espaços de identificadores de componentes e/ou de palavras-chave. Se uma ValueExpression é especificada, deve referenciar uma propriedade que retorna uma Collection de objetos String. Se não especificada, o valor default é @none. |
| Palavra-chave | Descrição |
|---|---|
| @all | Todos os componentes identificados |
| @form | Os componentes do formulário |
| @none | Nenhum componentes identificado |
| @this | O elemento que disparou a requisição |
Exemplo de uso da tag f:ajax
<h:inputText value="">
<f:ajax />
</h:inputText>
Note que quando você usa a tag f:ajax em uma página Facelets, a biblioteca JavaScript que suporta Ajax que já vem no J2EE 6 é carregada implicitamente. Este recurso também pode ser carregado explicitamente, veja mais detalhes em Loading JavaScript as a Resource no The Java EE 6 Tutorial.
No próximo post veremos como enviar uma requisição Ajax e receber uma resposta. Até lá.
Nenhum comentário:
Postar um comentário