| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/01/2007 08:56:15
|
almarti
JavaBaby
![[Avatar]](/images/avatar/2975c2a0df49e48104fc44a7838db7f7.png)
Membro desde: 05/12/2006 10:59:14
Mensagens: 91
Offline
|
Alguem tem algum exemplo de preenchimento de combo com Ajax utilizando o dwr. Tenho tentado com exemplos da net mas ainda não consegui. Obrigado.
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/01/2007 09:16:26
|
_Renatu
Virtual Machine Man
![[Avatar]](/images/avatar/20885c72ca35d75619d6a378edea9f76.jpg)
Membro desde: 04/08/2004 19:47:38
Mensagens: 597
Offline
|
Então
No próprio site do DWR tem....
Clique em documentation.... Examples... tem alguns exemplos bons lah...
vc cai nessa pagina:
http://getahead.ltd.uk/dwr/examples
Tem umas ferramentas boas, tipo o DWRUtils...
|
Renato Freitas
Compartihe Arquivos do seu curso ou faculdade no ebaH
Patentes Brasileiras
Patentes de Venezuela
Patentes de Chile
Patentes de Mexico
Patentes de Colombia
Patentes de Argentina
Patentes Online
http://www.twitter.com/renatoebah |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/01/2007 09:47:37
|
jwcunha
JavaChild
Membro desde: 06/10/2006 13:36:40
Mensagens: 107
Localização: Belo Horizonte
Offline
|
Caro amaratti, não sei em que ponto está a sua aplicação mas como já estive utilizando o dwr como opção para ajax seu tópico me chamou a atenção. Caso ainda esteja no início sugiro que opte pelo vRaptor como um framework completo que tem suporte a ajax, afinal você precisa preencher um combo vindo, provavelmente, de uma base de dados (xml, sgbd's, ....) logo a interação fica mais simples mas sem grandes ilusões pois vai precisar de um tanto considerável de javascript e conhecimento da árvore DOM pelo menos um tantinho.
Caso opte por esta solução mande aí, estou neste ponto da minha aplicação e tento bastante sucesso. Utilizo [Hibernate + Annotations] ( M ) + vRaptor (C) + [JSP+HTML+CSS+JS+AJAX] (V)
ou siga o exemplo do dwr que tb não é nada difícil: http://getahead.ltd.uk/dwr/examples/lists
Qual o seu problema neste exemplo?
|
Jefferson Wellington da Cunha
Skype: jwcunha
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/01/2007 09:52:28
|
almarti
JavaBaby
![[Avatar]](/images/avatar/2975c2a0df49e48104fc44a7838db7f7.png)
Membro desde: 05/12/2006 10:59:14
Mensagens: 91
Offline
|
Minha dificuldade é exatamente esta: preciso preencher combos com resultados de sgdb. Estou usando netbeans (É o que posso usa aaui na empresa) Vou baixar o vRaptor para testar.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/01/2007 12:01:09
|
almarti
JavaBaby
![[Avatar]](/images/avatar/2975c2a0df49e48104fc44a7838db7f7.png)
Membro desde: 05/12/2006 10:59:14
Mensagens: 91
Offline
|
O exemplo do site que utilizei está em
http://www.guj.com.br/posts/list/21957.java
O que acontece é que me retorna um erro de javascript dizendo que DWRUtil não pode ser encontrado.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/01/2007 12:44:52
|
jwcunha
JavaChild
Membro desde: 06/10/2006 13:36:40
Mensagens: 107
Localização: Belo Horizonte
Offline
|
almarti wrote:Estou usando netbeans (É o que posso usa aaui na empresa) Vou baixar o vRaptor para testar.
Amarati, primeiramente vamos ajustar alguns conceitos: netbeans é sua IDE de desenvolvimento assim como o eclipse. O vRaptor é um framework de desenvolvimento java para web.
Quanto ao erro "DWRUtils" não encontrado verifique se você está inserido o script: <script src='[b]dwr/util.js[\b]' type='text/javascript'></script> bem como se o caminho (em destaque) está correto.
Dê um retorno.
|
Jefferson Wellington da Cunha
Skype: jwcunha
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/01/2007 12:51:46
|
almarti
JavaBaby
![[Avatar]](/images/avatar/2975c2a0df49e48104fc44a7838db7f7.png)
Membro desde: 05/12/2006 10:59:14
Mensagens: 91
Offline
|
Bom, realmente este endereço estava errado. Agora uma explicação por favor:
<script type="text/javascript" src="dwr/interface/Publico.js"></script>
Eu não criei a Publico.js e sim uma classe chamada publico. É preciso criar estre js? Como? O erro que dá agora é que Publico não esta definido.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/01/2007 12:58:37
|
jwcunha
JavaChild
Membro desde: 06/10/2006 13:36:40
Mensagens: 107
Localização: Belo Horizonte
Offline
|
almarti wrote:Bom, realmente este endereço estava errado. Agora uma explicação por favor:
<script type="text/javascript" src="dwr/interface/Publico.js"></script>
Eu não criei a Publico.js e sim uma classe chamada publico. É preciso criar estre js? Como? O erro que dá agora é que Publico não esta definido.
almarti, não precisa criá-los não. O próprio DWR referencia estes js's a partir do nome do método remoto que você indicou como @RemotMethod de uma classe que você indicou como @RemoteProxy.
|
Jefferson Wellington da Cunha
Skype: jwcunha
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/01/2007 13:09:35
|
almarti
JavaBaby
![[Avatar]](/images/avatar/2975c2a0df49e48104fc44a7838db7f7.png)
Membro desde: 05/12/2006 10:59:14
Mensagens: 91
Offline
|
Desculpe a chatisse (Mas sou iniciante) como fazer estas Indicações?
método remoto como @RemotMethod
classe como @RemoteProxy.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/01/2007 13:14:37
|
jwcunha
JavaChild
Membro desde: 06/10/2006 13:36:40
Mensagens: 107
Localização: Belo Horizonte
Offline
|
almarti wrote:Desculpe a chatisse (Mas sou iniciante) como fazer estas Indicações?
método remoto como @RemotMethod
classe como @RemoteProxy.
Chatice nada, lancei esta para ver se teria interesse. É o seguinte, você pode optar por utilizar o DWR configurando o arquivo dwr.xml (que particularmente não gosto) ou simplesmente adicionar o servlet do dwr (conforme o guia do mesmo) no arquivo web.xml e expor seus métodos da seguinte maneira. Suponha que vc tenha a classe Carro e quer expor o método getList(), faça:
@RemoteProxy
class Carro{
List lstCarros = new List();
....
@RemoteMethod
public getList(){
return lstCarros;
}
}
É isso, o uso de anotações no dwr.
T+
|
Jefferson Wellington da Cunha
Skype: jwcunha
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/01/2007 13:19:53
|
almarti
JavaBaby
![[Avatar]](/images/avatar/2975c2a0df49e48104fc44a7838db7f7.png)
Membro desde: 05/12/2006 10:59:14
Mensagens: 91
Offline
|
Vamos ver então se entendi: (isto pode servir para outras pessoas tambem)
Minha classe Publico.class está assim:
Ela pega Pessoa.class
No entanto, configurei servlet no xml.
dwr.xml
<dwr>
<allow>
<create creator="new" javascript="Publico">
<param name="class" value="classes.Publico"/>
</create>
<convert converter="bean" match="classes.Publico"/>
</allow>
</dwr>
web.xml
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<display-name>DWR Servlet</display-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
Parece que estou com conflitos de configurações...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/01/2007 13:30:58
|
jwcunha
JavaChild
Membro desde: 06/10/2006 13:36:40
Mensagens: 107
Localização: Belo Horizonte
Offline
|
amigo, teste com as anotações que lhe disse, pq não cheguei a configurar o dwr.xml como disse acho uma tarefa inglória.
|
Jefferson Wellington da Cunha
Skype: jwcunha
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/01/2007 13:53:56
|
almarti
JavaBaby
![[Avatar]](/images/avatar/2975c2a0df49e48104fc44a7838db7f7.png)
Membro desde: 05/12/2006 10:59:14
Mensagens: 91
Offline
|
Fiz conforme indicado colocando as anotações, porém Publico continua indefinido. Será que há mais alguma configuração que deixei escapar?
As classes ficaram assim:
package classes;
import java.util.*;
import org.directwebremoting.annotations.RemoteProxy;
@RemoteProxy public class Publico
{
private static Map pessoas = new LinkedHashMap();
public String addPessoa(ComponenteCombo p)
{
if (pessoas.containsKey(p.getId()))
{
return "ERRO: Registro ja existente";
}
pessoas.put(p.getId(), p);
return new Date().toString();
}
public Collection getPessoas()
{
return pessoas.values();
}
}
e
package classes;
import java.util.*;
import org.directwebremoting.annotations.RemoteMethod;
public class ComponenteCombo {
private int id;
private String nome;
public ComponenteCombo(){}
@RemoteMethod public int getId() {
return id;
}
@RemoteMethod private void setId(int id) {
this.id = id;
}
@RemoteMethod public String getNome () {
return nome;
}
@RemoteMethod public void setNome (String nome) {
this.nome = nome;
}
}
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/01/2007 13:59:03
|
jwcunha
JavaChild
Membro desde: 06/10/2006 13:36:40
Mensagens: 107
Localização: Belo Horizonte
Offline
|
Vc precisa colocar @RemoteMethod acima do método que deseja ser acessado assincronamente da mesma classe que vc indicou como @RemoteProxy.
Pelo seu exemplo vc colocou @RemoteProxy em Publico e @RemoteMethod nos métodos de ComponenteCombo.
|
Jefferson Wellington da Cunha
Skype: jwcunha
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/01/2007 14:10:05
|
almarti
JavaBaby
![[Avatar]](/images/avatar/2975c2a0df49e48104fc44a7838db7f7.png)
Membro desde: 05/12/2006 10:59:14
Mensagens: 91
Offline
|
package classes;
import java.util.*;
import org.directwebremoting.annotations.RemoteProxy;
import org.directwebremoting.annotations.RemoteMethod;
@RemoteProxy public class Publico
{
private static Map pessoas = new LinkedHashMap();
@RemoteMethod
public String addPessoa(ComponenteCombo p)
{
if (pessoas.containsKey(p.getId()))
{
return "ERRO: Registro ja existente";
}
pessoas.put(p.getId(), p);
return new Date().toString();
}
@RemoteMethod
public Collection getPessoas()
{
return pessoas.values();
}
}
Mesmo que esteja correto, acredito que á outra configuraçãop, talvez não incluido o jar corretamente, algumas coisa assim. Poque Publico continua indefinido.
|
|
|
 |
|
|