Uma action vários métodos ! STRUTS

Pessoal !!!

Depois de muita briga consegui montar uma action que inclui altera pesquisa deleta…

    <action path="/produtoservlet" name="ProdutoForm"               
            scope="request"                 
            parameter="acao"                 
            input="/ProdutoIncluir.jsp"
            type="br.com.empresa.action.ProdutoServlet"
       validate="true">             

    	   <forward name="ProdutoIncluir"    path="/ProdutoIncluir.jsp"/>
    	   <forward name="ProdutoAtualizar"  path="/ProdutoAtualizar.jsp"/>
    	   <forward name="ProdutoPesquisar"  path="/ProdutoPesquisar.jsp"/>
           <forward name="PaginaErro"        path="/PaginaErro.jsp"/>
    </action> 

Legal !!! Criei os jsps , tudo blz !!! Coloquei o metodo validate no produtoform !!!

Coloquei um if p/ validar somente se for inclusao ou alteracao , BLZ !!!
if ((stringVazia(descricao))&&
((acao.equals(“incluir”))||(acao.equals(“atualizar”))) ){
erros.add(“descricao”, new ActionMessage(“erro.campoDescricao”));

MAS CAI EM UM PROBLEMA !!!

QDO É INCLUSÃO BLZ mas qdo é alteração volta p/ jsp de inclusao e nao de alteração como deveria…está correto porque coloquei no struts-config input=produtoincluir.jsp

Alguem sabe se é possivel fazer de outra maneira ?? Ou ter mais de um input ???

ou ainda deixar validate=false e controlar na mao a validacao !!! Não sei se valeria a pena.Criaria uma lista com erros e fazia um iterator na pagina jsp !!!

Meu objetivo é ter apenas uma action !!! P/ nao ter produtoincluiraction produtoalteraraction etc etc

Abraço !!! Valmir

use a mesma página para alterar e incluir, apenas mude o action de acordo com a solicitação.

Você abre duas vezes tópicos diferentes pra mesma pergunta companheiro?

Se você quer o mesmo action pra fazer diversas coisas, é melhor usar o MappingDispatchAction, porque senão você vai ter que fazer toda a validação na mão mesmo, já que existe apenas um mapeamento pra todos os métodos do action e consequentemente o mesmo ActionForm par todos eles.

Usando o MappingDispatchAction você vai poder fazer usar forms diferentes e até mesmo não usar form nenhum, chamando os métodos de ação do action. Veja a definição dele:

http://struts.apache.org/api/org/apache/struts/actions/MappingDispatchAction.html

Quando eu preciso desse tipo de funcionamento, usando vários forms, sempre uso ele.