Como chamar um action do Web Work com parametros?

Ae galera to iniciando no WebWork e pintou uma duvida, como eu faço para enviar parametros para um action ? Exemplo: Eu tenho um formulario com X campos e no POST do formulario eu tenho o seguinte link Teste.action?id=xyxyxyxy&origem=zzzzzzz na minha classe do ww como eu pegaria esses parametros passados na URL ??? ele faria como ele faz com os formularios ou seja se ouver os metodos setId e getId ele vai completar ? ou eu tenho de pegar esses parametros na marra ?

Valew!

Opa,

Ele popula as propriedade sozinho, desde que vc aplique o interceptor DynamicParameters (eu acho).

De uma lida nos 2 tutoriais que tem aqui no GUJ pra entender melhor como ele funciona, isso ta explicado nos 2.

Vc tem que colocar metodos gets e sets na sua classe
nesse caso ficaria:

private String id;
private String origem;

public String getId() {
	return id;
}
	
public void setId(String id) {
	this.id = id;
}

public String getOrigem() {
	return origem;
}
	
public void setId(String origem) {
	this.origem= idorigem
}

Automaticamente ele irá setar os valores de seus campos do HTML.
Ai no caso é só pegar com getId() :wink:

Se eu estiver errado me corrijam…

mas para o webwork popular meus Beans a minha class deve implementar a interface ModelDriven ??? ou ela popula sem a implementação ?

Popula das duas maneiras. A diferença é que, se sua Action implementa ModelDriven, o método getModel() é chamado e objeto que o método retornou é populado através das chamadas aos setters dele.

Se a Action não implementa ModelDriven, os setters da própria Action são chamados para popular os dados.

É isso. :wink:

[]'s

Acho que não cara. Minha action não implementa ModelDriven, só tenho um método getCandidato, e os inputs do meu form tem como name ‘candidato.idade’, ‘candidato.nome’ etc.

[quote=“LIPE”][quote=“caiofilipini”]
Se a Action não implementa ModelDriven, os setters da própria Action são chamados para popular os dados.
[/quote]

Acho que não cara. Minha action não implementa ModelDriven, só tenho um método getCandidato, e os inputs do meu form tem como name ‘candidato.idade’, ‘candidato.nome’ etc.[/quote]

Como acho que não?

Sem implementar ModelDriven ele usa o setters da propria Action sim.

É isso que ele esta fazendo no seu exemplo, candidato.idade ele traduz para getCandidato().setIdade() …

Powered by OGNL (se ficar na duvida sobre sintaxe alem de ler os docs do Xwork/WW (pq ele tem algumas particularidades) leia a do OGNL tb).

Ae Galera valew pela ajuda !!! :smiley:

Ae gaelara blza !!!

Tem compo eu fazer um frame ligado ao Action do WW e que esse form receba os dados vindos do Action eternamente ate que a conexão se feche ? tipo uma implementação de um chat usando WebWork ao inves de Servlet ou seja Terei um MessageBoard.action que sera ligada a um frame que rcebera as mensagens so que eu não quero ter de dar um refresh na pagina para buscar seu conteudo e sim manter a conexao aberta com MessaBoard.action que enviaria as mensagens de acordo com que elas iam chegando e que quando a conexao termina-se eu puderia determinar que a conexao foi fehcada a entao fazer as limpezas necessarias.

Valew Galera !!! :smiley: