Varios metodos dentro de uma action (struts)

Fala Galera…

se eu extender minha classe a Action (struts), vou ter q colocar o metodo execute, certo? mas e se eu nao quiser usar o metodo execute e sim colocar varios metodos dentro da mesma action (exemplo action Cliente, tera os metodos inserir, excluir, etc…).
Tem alguma classe que eu extenda (diferente de action) que nao precise implementar o execute?

Já ouvi falar q tem, mas gostaria de saber qual é…

Valeu…

use o DispatchAction para implementar varias ações na mesma action

mas para usar DispatcherAction, devo extender a Action mesmo?

http://www.reumann.net/struts/lesson3/step6.do

flw

pq vc não implementa no execute a inteligência necessária para ele delegar a s tarefas para os métodos específicos?

Tipo, o execute define se a ação é inclusão, exlusão, alteração e etc…

Ou melhor ainda, vc pode criar uma subclasse da Action que implementa o execute que terá a inteligência necessária para delegar as tarefas, e então vc extende esta classe que exige a implementação dos métodos create, delete, update e find!

public abstract class MinhaSuperAction implements Action {

public String execute() {
 // rotina para chamar os métodos abstratos delete, create, update e find
}

public abstract String create();
public abstract String update();
public abstract String delete();
public abstract String find();
}

Abraços!
Thiago Senna

[quote=Thiago Senna]pq vc não implementa no execute a inteligência necessária para ele delegar a s tarefas para os métodos específicos?

Tipo, o execute define se a ação é inclusão, exlusão, alteração e etc…

Abraços!
Thiago Senna[/quote]
é um trabalho desnecessario. encheria de if’s a action.
como ja foi citado, DispathAction resolvem o problema facil.

[]'s

jgbt wrote:
é um trabalho desnecessario. encheria de if’s a action.
como ja foi citado, DispathAction resolvem o problema facil.

Não encheria de ifs não, basta fazer com reflexão. Ele pode receber um parametro a mais, que seria o nome da ação, e chamaria esse metodo usando reflexao. Tipo: obj.getClass().getMethod(“metodo”,“Class[]”).invoke(obj,parametros.) O getMethod, recebe o nome do metodo e as classes que ele recebe como parametro, e o invoke recebe o objeto que contem o metodo e seus respectivos parametros.

Valeu Marcelo,

Alberto

[quote=alots_ssa]jgbt wrote:
é um trabalho desnecessario. encheria de if’s a action.
como ja foi citado, DispathAction resolvem o problema facil.

Não encheria de ifs não, basta fazer com reflexão. Ele pode receber um parametro a mais, que seria o nome da ação, e chamaria esse metodo usando reflexao. Tipo: obj.getClass().getMethod(“metodo”,“Class[]”).invoke(obj,parametros.) O getMethod, recebe o nome do metodo e as classes que ele recebe como parametro, e o invoke recebe o objeto que contem o metodo e seus respectivos parametros.

Valeu Marcelo,

Alberto
[/quote]

blz, mas continuaria reinventando a roda, o struts ja fornece meios de fazer isso.
mas é questão de opinião…

[]'s

[quote=alots_ssa]Não encheria de ifs não, basta fazer com reflexão. Ele pode receber um parametro a mais, que seria o nome da ação, e chamaria esse metodo usando reflexao. Tipo: obj.getClass().getMethod(“metodo”,“Class[]”).invoke(obj,parametros.) O getMethod, recebe o nome do metodo e as classes que ele recebe como parametro, e o invoke recebe o objeto que contem o metodo e seus respectivos parametros.
[/quote]

Kkkkkkkkkkkkkkk!

Dá uma olhada nos fontes do DispatchAction e das suas subclasses, você vai ter um susto com a semelhança :lol: