Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Carga inicial en jsp con Struts2

Estas en el tema de Carga inicial en jsp con Struts2 en el foro de Java en Foros del Web. Hola, tengo una duda de programación con Struts2. Necesito que al cargarse un jsp, se informe una lista con unos valores recuperados de la base ...
  #1 (permalink)  
Antiguo 07/02/2013, 04:15
 
Fecha de Ingreso: febrero-2013
Ubicación: Utrera
Mensajes: 9
Antigüedad: 11 años, 2 meses
Puntos: 0
Carga inicial en jsp con Struts2

Hola, tengo una duda de programación con Struts2.

Necesito que al cargarse un jsp, se informe una lista con unos valores recuperados de la base de datos. Tal como lo tengo montado, los datos se recuperan en los actions que generan el jsp, pero me convendría que fuese el propio jsp el que los recuperara, entre otras cosas para no repetir el mismo código en varios actions. ¿Cómo lo puedo hacer?

He probado ejecutando un action en el inicio del jsp con executeResult=true, pero aunque sí recupera los datos, no tengo visibilidad de ellos en el jsp.

Otra posibilidad que he probado es embeber código java en el jsp, pero no sé cómo ligar la lista recuperada con el formulario que quiero representar.

Pongo el código de la primera opción que entiendo es la más limpia, a ver si alguien me orienta un poco.

Jsp: (la lista que se recupera en el action la quiero mostrar en el select "selectEmpresa"
<s:form action="preLogin" executeResult="true">

<s:form action="acceso">
<s:select label="Empresa" name="selectEmpresa"
list='listaEmpresas' listValue="nombreEmpresa" listKey="idEmpresa"/>
<s:textfield label="Usuario" name="usuario" />
<s:password label="Password" name="password" />
<s:submit value="Aceptar" />
</s:form>


Código del action:

public void setListaEmpresas(List<Empresa> listaEmpresas) {
this.listaEmpresas = listaEmpresas;
}


@Override
public String execute() throws Exception{


Empresa empresa1 = new Empresa();


listaEmpresas = empresa1.cargarEmpresas();

return SUCCESS;


Saludos y muchas gracias
  #2 (permalink)  
Antiguo 07/02/2013, 06:25
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Carga inicial en jsp con Struts2

Te lo estás planteando mal, las JSP forman parte de la interfaz, por lo que deberían tener sólo código relacionado con la presentación, y cuanto menos mejor.

Lo que tienes que hacer es llamar al mismo action para conseguir esos datos, y que el propio action sea el que devuelve una página u otra en función del punto donde hagas la petición

Lo que tú llamas repetir código, no es así, has separado correctamente la obtención de la lista del action, por lo que tener una línea listaEmpresas = empresa1.cargarEmpresas(); que lo recupere no es repetir código. Repetir código innecesario sería poner el contenido de ese método en el action, o que antes de llamar a ese método tuvieras que poner siempre el mismo código antes y/o después.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 07/02/2013, 09:22
 
Fecha de Ingreso: febrero-2013
Ubicación: Utrera
Mensajes: 9
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Carga inicial en jsp con Struts2

Perfecto. Muchas gracias. Estaba ofuscado....

Etiquetas: struts2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:12.