Agrega un evento onload al body al body o una invocacion a un metodo al final de la pagina o crea un callback en el metodo que esta cargando la informacion para cargar desde ahi los datos que almacenaste en la sesion
En lugar de llamar al index.jsp directamente, la URL deberia invocar al servlet de inicio, este debe informar los valores en la response y hacer redirect a tu index.jsp.
De esta forma, cuando se cargue la JSP, esta ya tendra los valores disponibles desde el comienzo
Un saludo
Saludos a todos.
Les cuento que estoy desarrollando una simple app en google app engine. Como sabran muchos frameworks no son compatibles ahi, por lo que he vuelto a mis inicios: JSP
Tengo un index.jsp en el cual debo mostrar un <table> de items. Estos items los obtengo en un servlet. Asi que para invocar el servlet uso un boton:
input type="Submit"
el cual en el action del form, llama al servlet, este genera un arraylist y lo guarda en session, lleno la tablita con jstl y todo es felicidad.
Ahora la necesidad es que se muestre esta lista al iniciar la web, que sea lo primero que el usuario ve, es decir sin la necesidad de tener un boton que invoke al servlet,
ahi empieza mi calvario.
Podrian decirme como lo solucionarian ustedes?
Yo intente lo siguiente:
Usando jquery invoco el servlet cuando la web inicia :
script
$(function(){
$.get('FillTableProjectsServlet');
});
/script
Y efectivamente en el debug veo que el servlet se invoca, genera un arraylist lo guarda en session. El problema es que cuando la pagina carga, el table esta vacio, pero cuando le doy un f5
recien carga los datos, es decir se invoca por segunda vez el servlet. Haciendo pruebas veo que la variable que guardo en session en la primera invocacion ( jquery ) esta nula, pero despues del f5
ya es valida.
Muchas gracias de antemano por sus respuestas.