DWR + Struts + Hibernate

6 respostas
C

Alguém poderia me indicar um bom exemplo com o uso do DWR com Struts e Hibernate ?

Obrigado

6 Respostas

furutani

Provavelmente um exemplo com os 3 juntos voce não ira encontrar.
Estude os 3 separadamente e depois integre-os com os conhecimentos obtidos.

C

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.

LeonardoCarvalho

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… :slight_smile: ), 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

C

é 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

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;
	}

aí como eu faço pra prosseguir agora?

LeonardoCarvalho

Hmmm.
Sabia.
:smiley:

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.

C

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…

Criado 6 de janeiro de 2007
Ultima resposta 7 de jan. de 2007
Respostas 6
Participantes 3