Acrônimo em língua inglesa de Asynchronous Javascript And XML
É o uso metodológico de tecnologias como Javascript e XML, providas por navegadores, para tornar páginas mais interativas com o usuário, utilizando-se de solicitações assíncronas de informações (XMLHttpRequest).
Tapestry oferece suporte a Javascript e Ajax com base nas bibliotecas Prototype e Scriptaculous.
Tapestry's Zones
Zone é uma área da página projetada para atualização dinâmica usando Ajax. O componente acrescenta javascript na página para fazer a conexão entre o objeto Zone e a atualização do seu contéudo no lado cliente.
Quando o usuário clica num ActionLink que tem o atributo zone="ZoneName", o método correspondente (onActionFrom…) é chamado no servidor usando Ajax, o retorno desse evento é usado para enviar uma resposta parcial ao cliente, a zona é localizada e apenas o conteúdo da <div zone="ZoneName"> é atualizado na tela.
O componente Form também pode ter um atributo zone, nesse caso o botão Submit do Form vai usar uma requisição Ajax e atualizar apenas o seu conteúdo.
Configurar o Grid para usar Ajax
O componente Grid fornece automaticamente os links de ordenar cada coluna e do paginador, o atributo inPlace="true" transforma esse links em requisições Ajax.
src/main/resources/org/exemplo/t5teste/pages/usuario/ Index.tml
…
<table t:type="grid" source="lista" rowsPerPage="2" row="usuario"
exclude="passwd" reorder="login,email,ativo" add="editar,remover"
inPlace="true">
…</table>
<p:sidebar>
<p>${currentTime}</p>
</p:sidebar>
…
src/main/java/org.exemplo.t5teste.pages.usuario. Index.java
…
public Date getCurrentTime()
{
return new Date();
}
…
http://localhost:8080/t5teste/usuario/
Mais informações
Veja a vídeo-aula sobre Ajax, consulte o guia sobre Ajax, as referências do componente Zone, e também a página de referência dos componentes.