Alguém poderia me indicar um bom exemplo com o uso do DWR com Struts e Hibernate ?
Obrigado
Alguém poderia me indicar um bom exemplo com o uso do DWR com Struts e Hibernate ?
Obrigado
Provavelmente um exemplo com os 3 juntos voce não ira encontrar.
Estude os 3 separadamente e depois integre-os com os conhecimentos obtidos.
Minha aplicação eu fiz com Struts e Hibernate, queria melhorar alguma coisa com ajax, optei pelo “DWR” pois vi nos forums que ele é muito bom.
Mas não estou conseguindo integrar o DWR na minha aplicação.
Cara, não usei com Struts, mas usae com JSF, e acho que pra você ver o que acontece de errado (que você não fala… ), o DWR tem uma página de teste dos objetos publicados por ele.
No JSF eu criei um Managed Bean com métodos utilitários, e o registrei no DWR.
Ao fazê-lo, você o “batiza” no DWR neste ponto:
E no javascript você o referencia com o nome “Demo”.
O GRANDE pulo do gato é que no javascript vc terá defazer a função de callback, que vai tratr o retorno.
Você definiu isso? É nesse ponto que geralmente o pessoal que começa se perde…
HTH
é nessa parte mesmo q estou enrolado, montar as callback no javaScript
no meu dwr.xml eu tenho:
<create javascript="FornecedotAct" creator="new">
<param name="class" value="actions.Fornecedor.Act"/>
</create>
Minha Action esta assim:
*MyAction extend de ActionSupport
[code]public class FornecedorAct extends MyAction
{
private Fornecedor fornecedor;
private List<Fornecedor> fornecedores;
private String pesquisa;
public String input()throws Exception{
setEstilo("fornecedorativo");
setModo(GRAVAR);
return INPUT;
}
public String pesquisa()throws Exception{
setEstilo("fornecedorativo");
if (getPesquisa() != null && Util.isNumeric(getPesquisa()) )
{
fornecedores = new ArrayList<Fornecedor>();
fornecedores.add(FacadeFornecedor.pesquisar( Integer.parseInt( getPesquisa() ) ));
setFornecedores(fornecedores);
}
else if (getPesquisa() != null && !Util.isNumeric(getPesquisa()) )
{
setFornecedores(FacadeFornecedor.pesquisar(getPesquisa()));
}
else
setFornecedores(FacadeFornecedor.pesquisar());
return PESQUISA;
}
public String gravar()throws Exception{
if (getModo().equals(GRAVAR))
FacadeFornecedor.gravar(fornecedor);
else
FacadeFornecedor.alterar(fornecedor);
setModo(GRAVAR);
fornecedor = null;
return GRAVAR;
}
public String editar()throws Exception{
setModo(EDITAR);
fornecedor = FacadeFornecedor.pesquisar(fornecedor.getCodigo());
return EDITAR;
}
public String excluir()throws Exception{
FacadeFornecedor.excluir(fornecedor);
setFornecedores(FacadeFornecedor.pesquisar());
return EXCLUIR;
}
public Fornecedor getFornecedor() {
return fornecedor;
}
public void setFornecedor(Fornecedor fornecedor) {
this.fornecedor = fornecedor;
}
public List<Fornecedor> getFornecedores() {
return fornecedores;
}
public void setFornecedores(List<Fornecedor> fornecedores) {
this.fornecedores = fornecedores;
}
public String getPesquisa() {
return pesquisa;
}
public void setPesquisa(String pesquisa) {
this.pesquisa = pesquisa;
}
[/code]
aí como eu faço pra prosseguir agora?
Hmmm.
Sabia.
http://getahead.ltd.uk/dwr/browser/intro
Leia essa parte…
A sua função (por exemplo, FornecedotAct.getPesquisa()) num >javascript< tem de ter a função que vai tratar o retorno.
(você vai ter uma função callbackPesquisa(param), por exemplo,
que seria algo como um alert(param), e no javascriptprincipal, vc vai ter FornecedotAct.getPesquisa(callbackPesquisa))…
Aí entra a assincronicidade da parada, essa função será executada quando o dwr gerar o retorno, que é onde muita gente que está aprendendo se perde.
A ordem de execução dos scritps não é linear, você tem de pensar que a função de callback vai ser executada a qualquer momento.
dei uma olhada lá, mas ainda tah meio embaçado, teria como vc me dar uma força pra criar o javaScript dessa classe?
ia dar uma clareada legal…