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