Ver Mensaje Individual
  #3 (permalink)  
Antiguo 02/05/2011, 05:50
vickynemec
 
Fecha de Ingreso: abril-2011
Mensajes: 6
Antigüedad: 13 años
Puntos: 0
Pregunta Respuesta: Recargar una jsp devuelve Null constantemente

Hola ikki872 y a todos.
Si, entiendo, es medio confuso. Explico:
En el post anterior mencione unas listas, 1 y 2, pues esta vez voy a ponerles otro ejemplo con el codigo.

Dado un link en mi jsp menu que apunta a un action en el archivo struts.xml, redirecciona a dicho action donde inicializo una variable "private FormTipoDTO formulario" vacio. Esta es una clase que contiene toda la informacion que necesito mantener. Entonces la clase Action es asi:

public class FormularAction{
private FormTipoDTO formulario;

public String execute{
formulario = new FormTipoDTO(); //crea una formulario vacio.
formulario.inicializar();
session.put("formulario", formulario); //guardo el formulario creado en la session.
return success;
}

public String metodo(){
formulario = session.get("formulario");
//aqui tengo el mismo formulario que inicialice en el execute.

String valor = formulario.gteEnergia().toString(); //aqui siempre es 0.0
......
}

public FormTipoDTO getFormulario()
{ return formulario;}
public void setFormulario(FormTipoDTO form)
{ this.formulario = form;}

}

public class FormTipoDTO {

private Float energia;
public void inicializar()
{
...
energia = new Float(0);
....
}
public FormTipoDTO()
{ setEnergia(new Float(0)): }

public void setEnergia(Float f)
{this.energia = f;}

public Float getEnergia()
{return this.energia;}
}

esto funciona bien pues aparece la jsp con los campos en blanco.

page.jsp:

....
<body>
<s:form id="formularioAll" action="formular">
....
<s:inputtext name="energia" value="%{fomulario.energia}" key="titulo.energia">
¿ Ò podria ser:
<s:inputtext name="energia" value="%{#session.fomulario.energia}"
?
key="titulo.energia">
....
<s:submit ...... >
</s:form>
</body>

struts.xml

<action name="formular" class="....FormularAction" method="metodo">
<result name="error">page.jsp</result>
<result name="sucess">page.jsp</result>
</action>

Estando en la jsp, donde siempre se carga una caja de texto en blanco, edito o completo dicho campo energia, y presiono el submit del form, en el method "metodo" del FormularAction, el metogo getFormulario siempre devuelve null, y no se donde podria tener el valor de energia que cargue, pues el getEnergia de formulario da exception pues formulario es null. ¿Se entiende?
Por otro lado, como una instancia del formulario fue cargado en la sesion en el inicializar, cuando estoy en el action puedo solicitar el formulario de la session, pero energia es un campo = 0.0. ¿Como se puede guardar el valor de las variables cuando se editan en la jsp?

Espero haber sido mas clara. Gracias, saludos.