[RESOLVIDO]Enviar parâmetros para objeto via url

Bom dia galera,

sou iniciante em javascript/jquery, gostaria de saber se tem como eu enviar parâmetros diretamente para um atributo de um objeto java via url.

Exemplo:

public class ProtocoloGuiaSearchDTO implements Serializable {

	private String tipoConta;

        //set e get
}

Meu .js:

function buscarGuia(){
	
	if(validarBuscarGuia()){
                
               //assim não funcionou
		var guiaSearch = {tipoConta:$('#tipoConta').val()};
		var valorUrl = 'ajaxBuscarGuia.do?guiaSearch='+guiaSearch;

               //nem assim
               var valorUrl = 'ajaxBuscarGuia.do';
               //levando em consideracao que o name do input tipoConta está: 'guiaSearch.tipoConta'
               var data = $("#guia_form").serialize(); 

               //nem assim
                var tipoConta = $('#tipoConta').val()
		var valorUrl = 'ajaxBuscarGuia.do?guiaSearch.tipoConta='+tipoConta;

		$.ajax({
			url: valorUrl,
                        // apenas para a segunda tentativa
                        data: data,
                        //
			cache: false,
			async: true,
	        complete: function(response){			
				if(response != 'null'){
					$("#result").html('');
					$("#result").html(response.responseText);
				}
			},
			error: function(request, textStatus, errorThrown){
				alert("erro");
				$("#result").html(response.responseText);
			}
		});
	}
};

E a Action:

public class ProtocoloGuiaAction extends ActionSupport {

	private ProtocoloGuiaSearchDTO guiaSearch;
	private List<ProtocoloGuiaDTO> protocolosGuia;

	public String buscar() {
		
		this.protocolosGuia = protocoloGuiaService.buscar(guiaSearch);
		return Action.SUCCESS;
	}
        
       // setter's e getter's
}

O meu problema é que o valor não vai para o atributo dentro do objeto guiaSearch. Sei que tem um jeito mais fácil, se eu colocasse os valores que eu quero diretamente na action, mas são muitos outros campos nesse formulário e vai ficar muita informação na action.

Agradeço desde já

Que tal você mandar os dados em json ou xml ou yaml ou qq coisa e fazer o parse para um objeto no servidor ?

Fala ivandasilva,

você teria algum exemplo com JSON?

Consegui resolver o problema.

function buscarGuia(){
	clearMessages();
	
	if(validarBuscarGuia()){
		var action = 'ajaxBuscarGuia.do';
		var params = decodeURIComponent($("#guia_form").serialize());

		$.ajax({
			type: "POST",
			url: action,
			cache: false,
			data: params,
			async: true,
			contentType: 'application/x-www-form-urlencoded',
			complete: function(response){
				if(response != 'null'){
					//insere tabela de resultado da pesquisa na div
					$("#result").html('');
					$("#result").html(response.responseText);
				}
			},
			error: function(data, textStatus, errorThrown){
				$("#main").html('');
				$("#main").html(data.responseText);
				$(".error").show();
			}
		});
	}
};

incluí o ‘decodeURIComponent()’ para decodificar os campos data que estavam dando erro e inserir os valores do form serializado.
No ajax incluí ‘type: “POST”’ e ‘contentType: ‘application/x-www-form-urlencoded’’.

Cada valor do formulário foi para os atributos do objeto.