VRaptor @Remotable com lista como parametro

0 respostas
aleqi200

Olá, estou com o seguinte problema, tenho minha classe de dominio Grupo que segue abaixo:

public class Grupo implements Serializable {

	
	private Long id;
	private String nome;
	
	public Grupo() {
	}
 //getters e setters
}

E num componente do VRaptor estou tentando fazer uma exclusão:

@Component
public class GrupoLogic {

	private GrupoDao dao;
	
	public GrupoLogic(GrupoDao dao) {
		this.dao = dao;
	}

	@Remotable
	public void remove(List<Grupo> grupos){
		for (Grupo grupo : grupos) {
			dao.delete(grupo);
		}
	}
}

Ao tentar excluir nao ocorrem erros no parser, mas a lista esta vazia.
O código javascript abaixo está correto, devo estar errando no json.

if(confirm('Delete ' + $('.trSelected',grid).length + ' items?')){
		            var items = $('.trSelected',grid);
		            var itemlist ='';
		        	for(i=0;i<items.length;i++){
						itemlist+= "{\"id\":"+ items[i].id.substr(3)+"}";
						if(i != items.length-1){
							itemlist+=',';
						}
					}
					$.ajax({
					   type: "POST",
					   dataType: "json",
					   url: '<%=request.getContextPath() %>/grupo.remove.ajax.htm',
					   data: "\"grupos\":["+itemlist+"]",
					   success: function(data){
					   	alert("Query: "+data.query+" - Total affected rows: "+data.total);
					   $("#flex1").flexReload();
					   },
						error: function (XMLHttpRequest, textStatus, errorThrown) {
						  alert("error "+textStatus + " - " +errorThrown);
						  this; // the options for this ajax request
						}
					 });
					}

Alguém teria uma solução?

Criado 23 de abril de 2009
Respostas 0
Participantes 1