Reaproveitamento de actions no Struts

7 respostas
Alexandre

Ola pessoal,
gostaria de saber se tem como eu ter um reaproveitamento de uma
action que implementei pra outros casos.

Por exemplo, se eu tenho um action chamada ListarProdutoAction, e ela
tem um forward para um determinado JSP. Gostaria de saber se eu posso
reaproveitar esta action, mas, dependendo do caso, de onde eu invoco,
ele redirecionar para diversos JSP’s. Tem como? Alguém pode me ajudar!
Estou utilizando Struts 1.2

Muito obrigado!
Valew!

7 Respostas

jgbt

um action pode ter n fowards… é so configurar no sruts-config, e dar o return certo dentro da action…
qual a duvida especificamente.

[]'s

eduardo_lopes

putz, vc pode passar o nome da página ou algum identificador como parametro e concatenar no forward da action, daí é soh vc mapear os possíveis forward’s no struts-config…

já fiz algo parecido com cadastros em vários passos, onde concatenava o número da próxima página.

[]'s

Eduardo

Alexandre

Eu sei que uma action pode ter n forwards, mas gostaria de saber como
saber que forward, de acordo com a requisição.
Tipo:

String from = request.getParameter("from");
if(from.equals("x")) {
    // redireciona p/ x
} else if(from.equals("y")) {
    // redireciona p/ y
}

gostaria de saber se tem como eu pegar na minha action quem fez a
requisição dela, pra de acordo com a requisição eu dar um forward
diferente.

Alexandre

eduardo_lopes:
já fiz algo parecido com cadastros em vários passos, onde concatenava o número da próxima página.

Exatamente isso!!!

Sabe se existe algum padrão para isso ser feito, ou naum?

Valew!

jgbt

vc pode criar um campo hidden em cada tela com um determinado valor e testar esse valor na sua action.
ou usa o metodo:

StringBuffer url = request.getRequestURL();

ele te retorna a url, não lembro ao certo, mas é por ae.

[]'s

eduardo_lopes

Bom, to usando um padrão que saiu na javaMagazine, onde ele tem vários forwards com “page”+ alguma_coisa.

então é como o nosso amigo jgbt falou, tem um hidden no form html, com o nome “page” e valor “1” por exemplo.

no action eu pego esse campo do form, e concateno com o nome do forward

return mapping.findForward(“page”+ formBean.getPage());

sacou?

Alexandre

Valew, vou tentar aki.

Criado 19 de abril de 2005
Ultima resposta 19 de abr. de 2005
Respostas 7
Participantes 3