Primeiro eu crio o método na minha classe RemoteProxy:
@RemoteProxy
public class Funcoes {
@RemoteMethod
public Collection
}
As propriedades que eu quero usar do Bean devem ser mapeadas com Annotation:
@DataTransferObject
public class MeuBean{
@RemoteProperty
private Integer id;
@RemoteProperty
private String descricao;
...
}
Agora é só usar essa chamada no javascript do JSP que você desejar:
mapear esses arquivos na sua classe html, na seção head:
/dwr/interface/Funcoes.js
/dwr/engine.js
/dwr/util.js
----------------------------
<script>
function mudarDisciplinas() {
Funcoes.obterMinhaLista( exibe);
}
function exibe(meusBeans){
//aqui agora é só usar o array como quiser, lembrando que
//cada objeto do array tem id e descricao. Exemplo: meusBeans[1].descricao
}
</script>
Ah, não esqueça de mapear as duas classes no web.xml:
<servlet>
<description>DWR controller servlet</description>
<servlet-name>DWR controller servlet</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>classes</param-name>
<param-value>
meuPacote.Funcoes,
meuPacote.MeuBean
</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>DWR controller servlet</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
Para quem quiser saber mais sobre AJAX com DWR é só dar uma olhada no mini-curso que Mário ministrou na FIB.
Até apróxima e qualquer dúvida, já sabe, é só comentar.
Diego,
ResponderExcluirAcho que vale a pena indicar o mini curso que eu ministrei na FIB.
http://javalinuxevatapa.blogspot.com/2008/05/mini-curso-sobre-ajax.html
[]'s
Mario
Beleza, gafe corrigida! Isso é que dá não usar a pesquisa do Google do próprio Blog!
ResponderExcluir:)
Diego, não seria:
ResponderExcluirfunction mudarDisciplinas() {
Funcoes.obterMinhaLista(exibe);
}
? ou me passei???
e precisa inserir no jsp os seguintes importes de javascript:
/dwr/interface/Funcoes.js
/dwr/engine.js
/dwr/util.js
... seria isso???
Valeu pelo toque Murilo...
ResponderExcluir