Vraptor + Ajax Jquery + Sessão

4 respostas
ric_analista

Olá pessoal,
sou novato no vraptor, mas estou com uma dúvida na implementação de ajax no vraptor… tenho visto muitos exemplos com json, porém no meu caso… estou armazenando e usando os dados na sessão da aplicação…
gostaria de saber como implementar ajax excluindo um ítem de um grid por exemplo?? segue um exemplo que estou encalhado…

<table>
<c:forEach var="dadosSessao" items="${sessao.listaDosDados}">
  	
     	<tr class="even">
		   <td>
	  		   ${dadosSessao.descricao}
	  		   <c:if test="${ not empty dadosSessao.indicativos}"> 
	  		    - ${dadosSessao.indicativos}
	  		   </c:if>
	  		   <span><a href="<c:url value='/exemplo/remove/${dadosSessao.codigo}'/>">  ####  AQUI É A URL PARA REMOVER  ####
	      <input type="image" alt="Remover Especificação" src="${imagesContext}/trash.gif" border="0" /></a></span>
		   </td>
		</tr>
    </c:forEach>

agradeço quem me puder dar um help!!!

abraço a todos

4 Respostas

Lucas_Cavalcanti

bom, isso não é AJAX, é html normal…

o jeito certo de fazer o botão é:

<a href="<c:url value='/exemplo/remove/${dadosSessao.codigo}'/>">
<img alt="Remover Especificação" src="${imagesContext}/trash.gif" border="0" /></a>
ric_analista

Olá Lucas, obrigadão pelo retorno… mas creio que não fui bem claro talvez…em passar o problema…

quando eu clico nesse link eu vou a um controlador, removo o registro de um list dentro de um objeto que está em uma sessão e retorno aquela página mostrando aquele table com um registro a menos, então nesse tramite é feito um reflesh na página, então o que eu quero é evitar esse reflesh e fazer uma ação ajax atualizando o table que por sua vez pode estar dentro de uma div exemplo:

aqui fica o table a ser atualizado sem dar o reflesh na página

obrigadão mais uma vez…

abraço…

Lucas_Cavalcanti

se vc está usando jquery, vc pode fazer algo do tipo:

coloque na sua table e nos seus links:

<table id="dados">
   <tr>.....<td><a class="remove" ....></a></td></tr>
</table>

e no final da página, dentro de um script:

$('#dados a.remove').click(function() {
   var link = this.href; // a url de remoção
   var tr = $(this).parents('tr'); //linha do link
   $.post(link, function() { //chama a url do link
       //remove a linha com o efeito fadeOut
       tr.fadeOut().remove();
   });
   return false; //previne o refresh
});
ric_analista

Lucas, cara muito obrigado…
funcionou perfeitamente…!!! :smiley: :smiley:

Deus te Abençoe…

Ricardo

Criado 4 de outubro de 2010
Ultima resposta 5 de out. de 2010
Respostas 4
Participantes 2