Dúvida com DWR  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
anderson.bonavides
GUJ Master
[Avatar]

Membro desde: 30/07/2007 22:43:05
Mensagens: 1151
Offline

Olá pessoal, estou com uma duvida de como realizar uma busca com DWR passando alguns valores como parametro.

Segue meu código para que possam me ajudar:

Minha código JavaScript/DWR que acessa o código Java:



Meu código Java o qual é acessado pelo JavaScript/DWR:



E o resultado disso tudo que não consigo entrar dentro do método buscar.

Sun Certified Java Programmer 5.0
ignacio83
Java Ninja
[Avatar]

Membro desde: 16/03/2007 10:46:06
Mensagens: 253
Localização: São Paulo
Offline

Seu método buscar na classe em Java deve receber tipo primitivos ou classes wrappers...

Afinal sua variável em JS orgaoArrecadador não é uma classe java, concorda?

Experimente colocar todos os parâmetros como String e veja se funciona...

André de Fontana Ignacio
[MSN]
anderson.bonavides
GUJ Master
[Avatar]

Membro desde: 30/07/2007 22:43:05
Mensagens: 1151
Offline

Seu método buscar na classe em Java deve receber tipo primitivos ou classes wrappers...

Afinal sua variável em JS orgaoArrecadador não é uma classe java, concorda?

Experimente colocar todos os parâmetros como String e veja se funciona...


Realmente, vou dar uma olhada nisso. Obrigado ignacio83.

Sun Certified Java Programmer 5.0
handersonbf
Thread.start()
[Avatar]

Membro desde: 09/10/2004 19:59:44
Mensagens: 28
Offline

Olá Anderson.

Primeiro vamos algumas dicas.

No lugar de usar:


Use:



Ou


ou ainda


Você poderá utilizar também:


Assim ela pega TODOS os campos do formulario e gera algo do tipo:


Então caso você tenha um objeto que possua exatamente essas propriedades basta passar na chamada.



Classe java:


Agora vamos ao seu problema.


Isso está errado.... vejamos como deveria ser...


Outra coisa, seu método java não esta retornando NADA. Caso você realmente não queria retornar nada, basa passar o callback vazio ou simplesmente não passar ele.

Abraços



Handerson Frota
CEO Triadworks - www.triadworks.com.br
www.handersonfrota.com.br
Coordenador da JavaCE - www.javace.org
[WWW] [MSN]
handersonbf
Thread.start()
[Avatar]

Membro desde: 09/10/2004 19:59:44
Mensagens: 28
Offline

Mais uma coisa, aconselho dar uma lida nos artigos sobre DWR.

www.handersonfrota.com.br/artigos-tutoriais/ e na revista Java Magazine 66.

Abraços e qualquer dúvida posta ai.

Handerson Frota
CEO Triadworks - www.triadworks.com.br
www.handersonfrota.com.br
Coordenador da JavaCE - www.javace.org
[WWW] [MSN]
handersonbf
Thread.start()
[Avatar]

Membro desde: 09/10/2004 19:59:44
Mensagens: 28
Offline

ignacio83 wrote:Seu método buscar na classe em Java deve receber tipo primitivos ou classes wrappers...

Afinal sua variável em JS orgaoArrecadador não é uma classe java, concorda?

Experimente colocar todos os parâmetros como String e veja se funciona...


Com o DWR não tem essa necessidade, ele faz o convert para o bjeto java desejado. Se for Date ele converte, se for int ou Integer ele também faz a conversão.

Claro que no final, tudo que você passar será string, mas o DWR irá quando chegar no servidor fazer o convert para o tipo de objeto que o método espera.

Abraços

Handerson Frota
CEO Triadworks - www.triadworks.com.br
www.handersonfrota.com.br
Coordenador da JavaCE - www.javace.org
[WWW] [MSN]
anderson.bonavides
GUJ Master
[Avatar]

Membro desde: 30/07/2007 22:43:05
Mensagens: 1151
Offline

handersonbf wrote:Olá Anderson.

Primeiro vamos algumas dicas.

No lugar de usar:


Use:



Ou


ou ainda


Você poderá utilizar também:


Assim ela pega TODOS os campos do formulario e gera algo do tipo:


Então caso você tenha um objeto que possua exatamente essas propriedades basta passar na chamada.



Classe java:


Agora vamos ao seu problema.


Isso está errado.... vejamos como deveria ser...


Outra coisa, seu método java não esta retornando NADA. Caso você realmente não queria retornar nada, basa passar o callback vazio ou simplesmente não passar ele.

Abraços





Obrigado Handerson pelo esclarecimento em alguns pontos até desconhecido por mim.

Sun Certified Java Programmer 5.0
anderson.bonavides
GUJ Master
[Avatar]

Membro desde: 30/07/2007 22:43:05
Mensagens: 1151
Offline

Olá Handerson meu código ficou assim, mas não consigo ainda entrar no método buscar da classe RemerssaRetornoAjax.
Segue meu código:



A chamada do meu método buscar da classe RemessaRetornoAjax:

This message was edited 1 time. Last update was at 01/03/2010 16:47:33


Sun Certified Java Programmer 5.0
handersonbf
Thread.start()
[Avatar]

Membro desde: 09/10/2004 19:59:44
Mensagens: 28
Offline

Olá Anderson.

Vamos seguir alguns passos, para não perdermos tempo.

1. Você está realmente com o DWR "instalado" no seu projeto corretamente ?

2. Você mapeou corretamente a classe RemerssaRetornoAjax ?

Para responder essas duas perguntas basta acessar: http://seuprojeto/dwr

Deve aparecer a sua classe RemerssaRetornoAjax. Clique sobre ela e irá carregar uma página com todos os métodos dela, passe os valores para testar e execute.

Nesta página também irá conter todos os importes necessários para que essa sua classe funcione na sua aplicação.

Caso não apareça a classe no http://contexto/dwr então você não mapeou corretamente no dwr.xml ou nas annotations. Exemplo:


Caso ao acessar nada apareca ou dê erro, então o DWR não esta configurado corretamente.

Outra coisa, use o FireBug no FireFox, ele irá te dizer algum erro que aconteça no javascript. Você está utilizando ele ?


Abraços

Handerson Frota
CEO Triadworks - www.triadworks.com.br
www.handersonfrota.com.br
Coordenador da JavaCE - www.javace.org
[WWW] [MSN]
handersonbf
Thread.start()
[Avatar]

Membro desde: 09/10/2004 19:59:44
Mensagens: 28
Offline

E mais uma coisa que esqueci.

No retorno do seu método você tem um objeto chamado ArquivoMonitoracaoTO. Como você quer ele como retorno ou mesmo que seja como parâmetro, você deve mapear ele no dwr.xml.

Handerson Frota
CEO Triadworks - www.triadworks.com.br
www.handersonfrota.com.br
Coordenador da JavaCE - www.javace.org
[WWW] [MSN]
anderson.bonavides
GUJ Master
[Avatar]

Membro desde: 30/07/2007 22:43:05
Mensagens: 1151
Offline

handersonbf wrote:E mais uma coisa que esqueci.

No retorno do seu método você tem um objeto chamado ArquivoMonitoracaoTO. Como você quer ele como retorno ou mesmo que seja como parâmetro, você deve mapear ele no dwr.xml.


Olá Handerson, meu retorno não está retorno no javaScript não está chegando nada, acredito que seja meu mapeamento que muito provavelmente está errado. A minha duvida é sobre o retorno e como devo mapear ele.

Segue meu dwr.xml:




Grato!

This message was edited 2 times. Last update was at 04/03/2010 11:02:30


Sun Certified Java Programmer 5.0
handersonbf
Thread.start()
[Avatar]

Membro desde: 09/10/2004 19:59:44
Mensagens: 28
Offline

Creio eu que esteja utilizando a última versão do DWR, a 3.0, ou mesmo até a 2.0.5. Não importa o dtd esta errado da mesma forma, está usando do DWR 1.0

Cara realmente aconselho você dar uma lida nos artigos, pois assim nunca iremos conseguir resolver o problema ou pelo menos descobrir onde está errado.


Os artigos irão dizer o básico do que você precisa, como mapear, como configurar o dwr, como fazer os importes, como testar seus métodos mapeados sem precisar fazer javascript, como fazer as chamadas ao métodos, como recuperar informacoes do formulario com uma linha, nao precisa mapear Bean por Bean basta coloca recepcaoenvio.*, dentre várias outras coisas.


A forma como você esta fazendo a chamada por exemplo já mostrei que está errada, a forma como esta pegando os dados, mostrei como deve ser feito.

Fica complicado ajudar dessa forma ;/ realmente não sei qual a sua dificuldade....


Handerson Frota
CEO Triadworks - www.triadworks.com.br
www.handersonfrota.com.br
Coordenador da JavaCE - www.javace.org
[WWW] [MSN]
anderson.bonavides
GUJ Master
[Avatar]

Membro desde: 30/07/2007 22:43:05
Mensagens: 1151
Offline

handersonbf wrote:Creio eu que esteja utilizando a última versão do DWR, a 3.0, ou mesmo até a 2.0.5. Não importa o dtd esta errado da mesma forma, está usando do DWR 1.0

Cara realmente aconselho você dar uma lida nos artigos, pois assim nunca iremos conseguir resolver o problema ou pelo menos descobrir onde está errado.


Os artigos irão dizer o básico do que você precisa, como mapear, como configurar o dwr, como fazer os importes, como testar seus métodos mapeados sem precisar fazer javascript, como fazer as chamadas ao métodos, como recuperar informacoes do formulario com uma linha, nao precisa mapear Bean por Bean basta coloca recepcaoenvio.*, dentre várias outras coisas.


A forma como você esta fazendo a chamada por exemplo já mostrei que está errada, a forma como esta pegando os dados, mostrei como deve ser feito.

Fica complicado ajudar dessa forma ;/ realmente não sei qual a sua dificuldade....




Obrigado Handerson pela força novamente, mas o que você está propondo eu já fiz sim. Aliás ja rodei até seus exemplos e estudei cada código dos exemplos que encontravam no site, mas para o que estou querendo desenvolver não está funcionando. Como você me parece ser uma pessoa experiênte na tecnologia 'DWR' resolvi consultar, pois para mim esta tecnologia é muito nova e não tenho experiência, nem muito menos tenho a quem consultar, logo resolvi postar aqui no site e recorer a você.
Mas acredito que sua ajuda até o presente momento já foi suficiente, agradeço pela atenção, pelo tempo gasto comigo e tambem peço desculpas se por ter feito várias perguntas.




Grato!

This message was edited 2 times. Last update was at 03/03/2010 17:22:26


Sun Certified Java Programmer 5.0
handersonbf
Thread.start()
[Avatar]

Membro desde: 09/10/2004 19:59:44
Mensagens: 28
Offline

Não entenda essa minha última mensagem como agressiva .

Não tenho problemas em responder, só comentei que esta complicado ajudar sem saber qual o erro, seja pelo console do eclipse ou firebug.

Sem problemas cara, se tiver dúvidas pode enviar, ou mandar um email.


Abraços

Handerson Frota
CEO Triadworks - www.triadworks.com.br
www.handersonfrota.com.br
Coordenador da JavaCE - www.javace.org
[WWW] [MSN]
anderson.bonavides
GUJ Master
[Avatar]

Membro desde: 30/07/2007 22:43:05
Mensagens: 1151
Offline

Não não, a questão não é agressiva não, é que eu sei que é realmente muito complicado ajudar por distância e na insistencia de um mesmo erro. Fica complicado ajudar desta forma, eu entendo totalmente sua situação. Mas como ja falei pelo gtalk fica a informação aqui para as outras pessoas que venham a consultar. Existe uma incompatibilidade entre o DWR, JSF e Navegador, pois o meu código está funcionando apenas no IE 8. Mas não me pergunte porque, tenho um mesmo exemplo sem JSF funcionando no no firefox e Chrom.


Grato.
=]

Sun Certified Java Programmer 5.0
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team