Servlet e struts - como chamar uma servlet através de outra!

Por favor !!! alguém sabe ???

Eu tenho 2 servlets produtoinclui e produtopesquisa

Supondo que um form de cadastro chamou a produtoinclui, e um produto foi

incluido com sucesso, eu gostaria de chamar a produtopesquisa que chamaria a produtopesquisa.jsp mostrando o produto que acabou de ser incluido…

Estou usando struts e nao sei como preencher os parametros p/ que a produtopesquisa consiga mostrar os dados…

Se alguém souber…agradeço muito…Valmir

Cria uma action forward pra ele.

Supondo que vc tenho um .do (action) definido para cada ação é só dar um return no .do mapedo para a action, que pode ser um ForwardAction.

Eu modifiquei a minha produtoinclui p/ nao incluir e redirecionar p/ produtopesquisa…mas o problema e que na produtopesquisa ele esta considerando o ultimo objeto de pesquisa e nao o objeto que acabei de incluir…

NO STRUTS-CONFIG.XML

	<action path="/produtoinclui" name="ProdutoForm" 
       scope="session"
       type="br.com.caelum.struts.action.ProdutoInclui">
	<forward name="ok"   path="/ok.jsp"/>
	<forward name="PaginaErro" path="/PaginaErro.jsp"/>
	<forward name="ProdutoPesquisa" scope="session" path="/ProdutoPesquisa.jsp"/>
	</action>

PRODUTOINCLUI.JAVA

public class ProdutoInclui extends Action{

public ActionForward execute(ActionMapping map, ActionForm form,
		HttpServletRequest request, HttpServletResponse response)
		throws Exception {

	System.out.println("incluindo algum produto...");
	
	ProdutoForm formulario = (ProdutoForm) form;
	
	Produto p = new Produto();
	BeanUtils.copyProperties( p , formulario);
	
	return map.findForward("ProdutoPesquisa");	
	
	//request.getSession().setAttribute("funcionario", f);
	//new ProdutoDAO().adiciona( p ); 

	//return map.findForward("ok");
	
	//return map.findForward("/produtopesquisa.do");		
}

}

PRODUTOPESQUISA.JAVA

public class ProdutoPesquisa extends Action{

public ActionForward execute(ActionMapping map, ActionForm form,
		HttpServletRequest request, HttpServletResponse response)
		throws Exception {

	System.out.println("pesquisando algum produto...");
	
	ProdutoForm formulario = (ProdutoForm) form;
	
    int idProduto    = formulario.getIdProduto();
	String descricao = formulario.getDescricao();
	//Double preco     = formulario.getPreco();
	
	if ( (idProduto <= 0) && descricao.equals("") ) {
		return map.findForward("erro");
	}
	
	Produto p = new Produto();
	BeanUtils.copyProperties( p , formulario);
    		
	request.getSession().setAttribute("ListadeProdutos", new ProdutoDAO().getProduto(p));
	
	return map.findForward("ProdutoPesquisa");
	
    //RequestDispatcher dispatcher = null;		
    //dispatcher= request.getRequestDispatcher("/ProdutoPesquisa.do");
    //dispatcher.forward(request, response);
}

}