Retorno post

Tenho um método que é chamado através do $.post (javacript/ajax) na minha página de view, ele é executado normalmente da seguinte forma que fiz para testes:

function funcao() {
		inicio = $("select[name='inicio.id']").val();
		fim = $("select[name='fim.id']").val();
		anoInicio = $("select[name='anoInicio']").val();
		anoFim = $("select[name='anoFim']").val();
		idResiduo = $("select[name ='res']").val();
		$.post("filtraRelatorio", {
			'inicio' : inicio,
			'fim' : fim,
			"idResiduo" : idResiduo,
			"anoInicio" : anoInicio,
			"anoFim" : anoFim
		}, function() { //funcao }); }
	@RequestMapping("/filtraRelatorio")
	public void filtraRelatorio(int inicio, int fim, int idResiduo, int anoInicio,
			int anoFim, HttpServletResponse response) {
		System.out.println("inicio: " + inicio);
		System.out.println("fim: " + fim);
		System.out.println("residuo: " + idResiduo);
		System.out.println("ano de inicio: " + anoInicio);

		response.getStatus();
	}

O problema surgiu no momento que quis realmente implementar o método, que até o momento fazia todo o trabalho no javascript, o que eu quero é “simples” porém não tenho idéia de como fazer se alguém puder me dar uma luz… queria poder retornar um boolean, algo desse tipo:

	@RequestMapping("/filtraRelatorio")
	public void filtraRelatorio(int inicio, int fim, int idResiduo, int anoInicio,
			int anoFim, HttpServletResponse response) {
		if(inicio < anoFim) {
                   return true;
                } else {return false;}
                
                return false;
		response.getStatus();
	}

Porém ao fazer isso dá erro com os retornos, alguém pode ajudar?

Uma vez raelizei a implementação de algo parecido a muuuuuuito tempo atrás. Não me lembro direito, mas foi algo simples, eu criei um método no meu BB para atribuir o tipo de retorno e realizava a injeção manual do resultado na variável.

Exemplo (ta na mão, não testado aqui):

private boolean valor;
//getter/setter

public void atribuirValor(String valor){
  (valor.equals("true")) ? valor= true:valor=false;
}

e no resultado do post tem que recarregar a página obrigatóriamente, porque js não conversa com os métodos:

}, function(val) { 
  location.href=location.href + "?id=" + val;
 }); }  

e para recuperar na página:

#{bean.atribuirValor(param.id)}

eu lembro que foi algo assim, veja se isso daí te serve.

Você tá usando a anotação @RequestBody no método? Quando você quer retornar o conteúdo diretamente a partir do método, deve-se utilizar esta anotação.

andre.froes, no meu caso acho que isso não funcionaria pois desejo usar o falor de retorno true ou false para saber se vou somar ou não um valor

Não, eu sei pouco sobre Ajax, o que consegui adaptar sozinho quando necessitei anteriormente, pode por favor citar um exemplo da utilização desta anotação?

Não, eu sei pouco sobre Ajax, o que consegui adaptar sozinho quando necessitei anteriormente, pode por favor citar um exemplo da utilização desta anotação?[/quote]

Humm… eu me confundi. É @ResponseBody, não @RequestBody. Basta anotar o método com ela.