Hola amigos estoy desarrollando con el framework Spring y se me ha presentado la siguiente situacion: tengo un controlador que extiende de la clase SimpleActionFormController y resulta que cuando hago un submit para enviar ciertos datos y guardarlos y luego cargar la misma pagina, pasa 2 veces por la funcion isFormChangeRequest(HttpServletRequest request, Object command) y me guarda los datos 2 veces. Por favor necesito alguien que me ayude pues ya no se que más hacer. Saludos y gracias de antemano.
Código:
@Override
protected boolean isFormChangeRequest(HttpServletRequest request, Object command)
{
data = (CondorScheme)command; //tomo el objeto que llega
String reason = request.getParameter("reason");
if (reason != null)
{
if (reason.equals("insert") && data.getTempCondor_id()!= null)
{
if(!details.equals("-1"))//si detalle no es -1 guardo en base de datos (es un update)
{
data.getSchemeAccountManager().update(data.getTempScheme_Account());
}
if(details.equals("-1"))//si es -1 entonces voy llenando la lista de schemeaccount
{
data.InsertSchemeAccount();
}
}
else if (reason.equals("delete"))
{
if(!details.equals("-1"))// si es un delete y no es -1 elimino de base de datos
{
data.getTempScheme_Account().setE_status(Entity.Deleted);
data.getSchemeAccountManager().update(data.getTempScheme_Account());
}
if(details.equals("-1"))// si es -1 entonces elimino de la lista del objeto
{
data.DeleteSchemeAccount(data.getTempScheme_Account().getCondor_id());
}
}
}
return reason != null && !(reason.equals("normal"));
}