Páginacion con Struts
Vamos a ver! Tengo un formulario de búsqueda de operaciones, se pulsa aceptar, se ejecuta una action donde se accede a la base de datos, se guardan las operaciones en una lista en sesión, y se redirecciona a una jsp donde se deben mostrar. Hasta ahí bien.
Ahora quiero paginar, y mostrar por ejemplo 10 operaciones por página y utilizar enlaces anterior y siguiente y tal. Esos enlaces deben cargar de nuevo la misma página pasando por una action que no hace nada (lo tengo así porque por un lado toda llamada a página jsp pasa por el controlador, y por otro lado porque ahí verifico que los datos del usuario logueado siguen en sesión. En caso contrario determinaría que la sesión expiró y le mando al login), y mostrar las 10 operaciones adecuadas. He leído información pero no me aclaro. Por un lado sé que el logic:iterate tiene los atributos length y offset. El length es estático (10 por ejemplo) y el offset debe ser dinámico y no sé cómo darle valor. Por otro lado tengo las tags ya descargadas del pager-taglig-2.0, pero tampoco entiendo demasiado bien como funciona.
A ver si soy capaz de hacerte preguntas concretas. El que use pager-taglib para la paginación significa que debo olvidarme de los atributos de logic:¿Iterate?, ¿O también debo usar estos? Sobre el pager-taglib, en sentencias que he visto como estas...
<pg:first>
<a href="<%= pageUrl %>">[ (<%= pageNumber %>) |< Previous ]</a>
</pg:first>
<pg:prev>
<a href="<%= pageUrl %>">[ (<%= pageNumber %>) << Previous ]</a>
</pg:prev>
¿De dónde sale pageUrl y pageNumber? Por qué (¿al menos aparentemente) pageNumber tiene el mismo valor si debería cargar bloques de 10 operaciones distintas? Básicamente me cuesta conseguir asociar el bloque de operaciones que yo quiero mostrar con los valores adecuados que debo dar a no sé qué variables.
Ahora quiero paginar, y mostrar por ejemplo 10 operaciones por página y utilizar enlaces anterior y siguiente y tal. Esos enlaces deben cargar de nuevo la misma página pasando por una action que no hace nada (lo tengo así porque por un lado toda llamada a página jsp pasa por el controlador, y por otro lado porque ahí verifico que los datos del usuario logueado siguen en sesión. En caso contrario determinaría que la sesión expiró y le mando al login), y mostrar las 10 operaciones adecuadas. He leído información pero no me aclaro. Por un lado sé que el logic:iterate tiene los atributos length y offset. El length es estático (10 por ejemplo) y el offset debe ser dinámico y no sé cómo darle valor. Por otro lado tengo las tags ya descargadas del pager-taglig-2.0, pero tampoco entiendo demasiado bien como funciona.
A ver si soy capaz de hacerte preguntas concretas. El que use pager-taglib para la paginación significa que debo olvidarme de los atributos de logic:¿Iterate?, ¿O también debo usar estos? Sobre el pager-taglib, en sentencias que he visto como estas...
<pg:first>
<a href="<%= pageUrl %>">[ (<%= pageNumber %>) |< Previous ]</a>
</pg:first>
<pg:prev>
<a href="<%= pageUrl %>">[ (<%= pageNumber %>) << Previous ]</a>
</pg:prev>
¿De dónde sale pageUrl y pageNumber? Por qué (¿al menos aparentemente) pageNumber tiene el mismo valor si debería cargar bloques de 10 operaciones distintas? Básicamente me cuesta conseguir asociar el bloque de operaciones que yo quiero mostrar con los valores adecuados que debo dar a no sé qué variables.
1 Respuesta
Respuesta de Fernando Rosado Altamirano
1