Pessoal,
Comecei a usar o Struts2 e estou com um probleminha. Eu criei uma página de cadastro e, após dar submit, gostaria que voltasse para a mesma página, mas não estou conseguindo, dá erro.
Segue o meu código:
Esta é a minha página JSP:
<s:form action="cadastraProcesso">
<s:textfield required="true" label="Descrição" type="text" name="procDesc" />
<s:textfield required="true" label="Número" type="text" name="nrProc" />
<s:select list="clientes" label="Cliente" listKey="codigo" listValue="razaoSocial" name="idCli"/>
<s:select list="frs" label="Fórum" listKey="codigo" listValue="nome" name="idFr" value=""/>
<s:select list="tcos" label="Tipo de Cobrança" listKey="codigo" listValue="descricao" name="idTco"/>
<s:select list="tcas" label="Tipo de Causa" listKey="codigo" listValue="descricao" name="idTca"/>
<s:textfield required="true" label="Data de Abertura" type="text" name="dtAbre" />
<s:textfield required="false" label="Data de Fechamento" type="text" name="dtFecha" />
<s:textfield required="true" label="Taxa Contratual" type="text" name="txContra" />
<s:select list="advs" label="Advogado" listKey="codigo" listValue="nome" name="idAdv"/>
<s:textfield required="true" label="Data de Participação" type="text" name="dtPart" />
<s:submit value="cadastra" />
<s:reset value="limpa"/>
</s:form>
Essa é a minha action:
public class CadastraProcesso extends ActionSupport {
private static final long serialVersionUID = 1L;
private List<Advogado> advs;
private List<Cliente> clientes;
private List<Forum> frs;
private List<TipoCobranca> tcos;
private List<TipoCausa> tcas;
private String procDesc;
private Integer nrProc;
private Integer idCli;
private Integer idFr;
private Integer idTco;
private Integer idTca;
private Integer[] idAdv;
private Date[] dtPart;
private Date dtAbre;
private Date dtFecha;
private Double txContra;
@Action(value="cadProcessoSetup",
results={
@Result (name="ok", location="/cadProcesso.jsp"),
@Result(name="erro", location="/erro.jsp")
})
public String setup() {
clientes = ClienteBO.getInstance().consultarClientes();
advs = AdvogadoBO.getInstance().consultarAdvogados();
frs = ForumBO.getInstance().consultarForuns();
tcos = TipoCobrancaBO.getInstance().consultarTiposCobranca();
tcas = TipoCausaBO.getInstance().consultarTiposCausa();
return "ok";
}
@Action(value="cadastraProcesso",
results={
@Result(name="ok", location="/cadastro.jsp"),
@Result(name="erro", location="/erro.jsp")
})
public String cadastra() {
Cliente cl = new Cliente();
cl.setCodigo(idCli);
Forum fr = new Forum();
fr.setCodigo(idFr);
TipoCobranca tc = new TipoCobranca();
tc.setCodigo(idTco);
TipoCausa tca = new TipoCausa();
tca.setCodigo(idTca);
Processo proc = new Processo();
proc.setNumero(nrProc);
proc.setDescricao(procDesc);
proc.setDataAbertura(dtAbre);
proc.setDataFechamento(dtFecha);
proc.setTaxaContratacao(txContra);
proc.setForum(fr);
proc.setCliente(cl);
proc.setTipoCausa(tca);
proc.setTipoCobranca(tc);
ProcessoBO.getInstance().cadastrarProcesso(proc);
return "ok";
}
//getters and setters
O cadProcessoSetup popula os combos da minha JSP, e o cadastraProcesso, recupera esses elementos e persiste em um banco de dados Oracle.
Ele está gravando tudo certinho, só que após o submit não estou sabendo como fazer para voltar para a mesma página, caso o usuário queira efetuar um novo cadastro.
Obrigado!