Estou usando o struts.
Dou forward para uma outra Action e perdendo os valores que setei no form da Action anterior. Lembrando que ambas as actions utilizam o mesmo form. Como resolver isso?
Struts: perdendo valores do form ao dar forward
D
5 Respostas
E
Seu scope="?" dentro do struts config-xml onde vc mapea as suas action . Esta como request ou session !?
D
Está como request. Qual é a melhor solução? Mudar o escopo para session?
E
Cara já que vc esta utilizando o mesmo formulario não era para isso estar acontecendo . Tem como postar o trecho do codigo para dar uma olhada ?
D
PRIMEIRA ACTION
- faz algumas alterações no form
- dá forward para próxima action
if(fcvTanqueVO.possuiId()){
fcvTanqueServices.atualiza(fcvTanqueVO);
} else {
fcvTanqueVO.setTanqueCod(fcvTanqueServices.buscaProximoCodTanque(fcvTanqueVO.getPostoId()));
id = fcvTanqueServices.insere(fcvTanqueVO);
fcvTanqueForm.set("idAsString", Integer.toString(id));
fcvTanqueForm.set("tanqueCodAsString", fcvTanqueVO.getTanqueCodAsString());
}
ActionMessages messages = new ActionMessages();
messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("registro.incluido.sucesso"));
saveMessages(request, messages);
return mapping.findForward("recarregarCadastroTanque");
SEGUNDA ACTION
try{
con=FactoryBD.getInstancia().criaGerenteConexao().obtemConexao();
FcvTpCombustivelServices fcvTpCombServices=FactoryServices.getInstancia().criaFcvTpCombustivelServices(con);
combustiveis = fcvTpCombServices.buscaTpCombustivel();
combustiveisForm.set("tiposCombustiveis", combustiveis);
return mapping.findForward("carregarCadastroTanque");
STRUTS-CONFIG:
PRIMEIRA ACTION:
<action
path="/cadastraTanque"
type=“br.com.formatool.fcv.fcvTanque.web.CadastraFcvTanqueAction”
name=“FcvTanqueForm”
scope=“request”
validate=“true”
input="/fcvTanque/fcvCadastroTanque.jsp"
/>
FORWARD:
<forward name="recarregarCadastroTanque" path="/carregarCadastroTanque.do" />
SEGUNDA ACTION:
CARREGA POP-UP ANTES DE JSP
<action
path="/carregarCadastroTanque"
type="br.com.formatool.fcv.fcvTanque.web.CarregarFcvTanqueAction"
name="FcvTanqueForm"
scope="request" validate="false"
parameter="/fcvTanque/fcvCadastroTanque.jsp"
/>
FORWARD ANTES DO JSP:
<forward name="carregarCadastroTanque" path="/fcvTanque/fcvCadastroTanque.jsp" />
E
Já experimentou fazer isto !?
Action b chamando a Action A novamente !
return mapping.findForward("carregarCadastroTanque");
<forward name="carregarCadastroTanque"path="/carregarCadastroTanque.do" />
Criado 30 de agosto de 2006
Ultima resposta 30 de ago. de 2006
Respostas 5
Participantes 2