VRaptor + JQuery + JSON + Ajax - List<Object> para controller

pessoal, infelizmente não consegui entender bem o funcionamento do JSON + Ajax + Vraptor
Eu vi centenas de exemplo explicando como retornar um objeto do Controller -> View
Quero o contrário

vou ser bem claro no que preciso.
tenho uma lista desse tipo no meu form:

<input type="text" name="epList[i].id" value="${epList.id}">

ou seja, tenho uma lista de objetos, e preciso passar essa list, pelo ajax, como parametro para meu controller

com o submit normal eu fazia assim

dando submit eu fazia assim

function confirmar(){ document.formInscritos.action = "../enviarMensagem"; document.formInscritos.submit();
}

e estou querendo fazer com o AJAX assim

$(function() {
		$('#confirmar')
	    .click(function(e) {
	        e.preventDefault();
			var mensagem = $("#mensagem").val();
                        var idPesquisa = $("#idPesquisa").val();
	                $.get("../enviarMensagem/"+mensagem+"&"+idpesquisa, function(){
					alert("ok");
				});
	      
	    });
	});

A pergunta: como passar minha List pelo AJAX?

obrigado

Você pode fazer no javascript algo do tipo:

var params = {
    'mensagem': 'Uma mensagem',
    'idPesquisa': 123
    'epList': [
         {"id": 123, "nome": "Joao"},
         {"id": 3, "nome": "José"}
    ]
};

$.get("../enviarMensagem", params, function(){alert('ok');});

Lucas. Obrigado pela resposta. Acabou que não precisei mais disso na época e esqueci de voltar para agradecer.

Agora preciso novamente. Mas, como pegar esse objeto no meu controller?

Tentei assim:


public void salvar(Object[] objeto);
public void salvar(MinhaClassePersistencia objeto);
public void salvar(List<MinhaClassePersistencia> objeto);
public void salvar(MinhaClassePersistencia[] objeto);

e não tive sucesso com nenhuma das tentativas?

agradeço qqer dica, valeu!!!

Object[] nunca vai funcionar, pq o vraptor não vai saber qual eh o objeto que vc quer instanciar…

como vc tah passando os parâmetros?

se for:

objeto[0].umapropriedade = 1
objeto[0].outrapropriedade = 2
objeto[1].umapropriedade = 3

use (List objeto)

Lucas,

Estou com o mesmo problema ai.

Meu JSON está saindo assim para o VRaptor:

filters[0][name]=name
filters[0][value]=Teste

No meu Controller está assim:

@Post({"/paginated/{first}/{length}"})
public void listPaginated(int first, int length, List<Filter> filters){
		try {
			result.use(Results.json()).from(dao.paginatedList(first, length, filters, 
            new HashMap<String, SortOrder>()), "productBO").recursive().serialize();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

Mesmo asssim estou recebendo null no parâmetro filters no meu controller.

Outra informação, estou usando AngularJS, a chamada ficou assim:

		$scope.filterBy = {'filters' : [{"name":"name", "value":$scope.search}]};
		var requestURL = '/vraptor-angular/products/paginated/'+$scope.first+'/'+$scope.pageSize;

		$http.post(requestURL,	$.param($scope.filterBy)).success(function(data) {
			$scope.products = data.productBO.products;
			$scope.total = data.productBO.totalProducts;
			$scope.totalPages = ($scope.total % $scope.pageSize == 0) ? $scope.total/$scope.pageSize : parseInt($scope.total/$scope.pageSize)+1;
			var pages = new Array();
			for(var i=0; i<$scope.totalPages; i++){
				pages[i] = i+1;
			}
			$scope.availablePages = pages;
			$timeout(function(){AjaxCallHandler.end()}, 500, true);
		});

Alguma ideia do que eu possa fazer pra o VRaptor popular o parâmetros filters?