DWR - Pegando valores!

Salve a todos…

Estou começando minha vida com o DWR…

Segui um tutorial e consegui fazer as chamadas dos meus metodos, tranquilamente!

Mas não consegui fazer nenhum valor ser retornado!

Vamos supor que eu tenha um metodo chamado

fazMais(int x, int x);

Que retorne a resposta, um inteiro!!!

Como que eu pego esse valor de volta no JSP/JavaScript…

Pelo trivial eu não consegui…

var resposta = Calculos.fazMais(2,3);

Sempre está vindo ‘undefined’…

Mesmo chamando um metodo dummy que só me retorna uma string…

Onde estou errando??

Abraços
Ceará

Cara, da pra fazer assim:

...
var resposta;
Calculos.fazMais(2,3,resposta); 
...

Essa tua variavel vai servir de callback…tipo, ele naum funciona como java normal, ele retorna os valores neste callback.

Primeiramente Mr_Browstone, vlw pela resposta…

Ontem eram quase 3 da manhã eu consegui fazer funcionar, mas de uma forma meio gambiarrenta, não tão simples como essa sua!!

Fui ler sobre o callback… ele realmente não funciona normalmente como qualquer retorno de função de qualquer linguagem né!

Mas vou testar e posto aqui depois!

Mais alguma dica??

Outra coisa… onde eu ‘desligo’/seto o debugMod, fica jogando milhões de mensagens no console!

Abraços e obrigado!

[quote=“Mr_Browstone”]Cara, da pra fazer assim:

...
var resposta;
Calculos.fazMais(2,3,resposta); 
...

Essa tua variavel vai servir de callback…tipo, ele naum funciona como java normal, ele retorna os valores neste callback.[/quote]

Bom cara, eu tentei aqui e não consegui não…

exemplo:

var resp;
Calculos.calculaFOB(quantidade,valor,resp);
alert(resp);

Isso dá undefined…

Só consegui o retorno assim:

Calculos.calculaFOB(quantidade,valor, { callback:function(str) { alert(str); }});

Mas não consigo jogar isso em uma variável… só consigo acesso dentro da chamada da função.

Por exemplo se eu fizer isso aqui:

var resp;
Calculos.calculaFOB(quantidade,valor, { callback:function(str) { resp = str }});
alert(resp);

Ele dá undefined!

Estou fazendo merda???

Obrigado novamente!

Ceará

Cara, bem q falam q javascript é uma gambiarra…ahauahauha

eu fiz algo parecido com o que eu tinha lhe falado e deu certo, ai eu fiz umas outras parada lah, e naum deu mais certo, tive q fazer umas coisas muito medonhas q ateh agora eu naum entendi, para fazer funcionar. Esse metodo q vc mostrou, eu nunca vi… conclusão…tem umas 100 maneiras pra se fazer a mesma coisa…uahuhaua

abraço!!! :lol:

A cara, detalhe q me esqueci de falar, naum sei se tem a ver, mas quando eu fiz aquilo, eu estava usando DWR…pode ser q seja por isso… :wink:

Fala cara…

Então, estou usando o DWR tbm!!!

Consegui fazer aqui funcionar… mas o estranho que a ordem que estou utilizando é contrária a sua… funcionou aqui com o primeiro paramatro sendo o callback!

E o que eu reparei, que só consegui fazer funcionar, quando no callback é uma função… jogar em uma variável não consegui não!!

Segue exemplo:

function calculaFOB(quantidade,valor,posicao)
{
	.....
	Calculos.calculaFOB(setaFOB,quantidade,valor);
	.....
}

function setaFOB(resultado)
{
	campo = document.getElementById("fob1");
	campo.value = nomes;
	.....
}

E pronto… no exemplo, meu campo ‘fob1’ foi preenxido!!!

Abraços cara e vlw pelas ajudas aí!!!