Paginar Registros en JSP

Hola,
Tengo un apregunta:
Como hago para mostrar los resultados de una consulta SQL en páginas de 10 en 10...
Algo así como los resultados de los motores de búsqueda:
Total resultados: 256645
<< 1 2 3 4 5 6 7 ... >>
Espero haber sido claro
Un saludo,

1 respuesta

Respuesta
1
Lo puedes hacer de varias formas, te planteo dos de ellas y si quieres más información te ayudo y explico como hacerlo:
1- El recordset que obtienes lo guardas en una variable de sesión, preferiblemente en un array que sea una variable de sesión, y en los números que pones al pie de la página, guardas como parámetros el identificador del array a partir del cual quieres buscar. LLamas a la propia página con dicho parámetro y muestras los siguientes 10 valores asociados a los siguientes 10 indices del array. Esto es más rapido ya que la consulta la realizas solo unez vez evitando llamadas al servidor, que podrían sobrecargar el sistema en casod e que tengas muchos usuarios conectados.
2- En los números de pie de página, pones el identificador del ultimo registro mostrado. Llamas a la propia página con ese identificador como parámetro y llamas a un procidimiento alamcenado que te muestre solo 10 registros ordenados pe por recid (clave la tabla). De esta forma muestras los registros de 10 en 10. El problema que tiene es que harías una llamada el procedimiento cada vez que se recarga la página. Acuérdate de que el procedimiento tendrá como parámetro opcional el identificador del registro. Tiene que ser opcional porque la primera que hagas la búsqueda no pasaras ningún valor como parámetro.
Ambas formas son validas, la primera sera más lenta la primera vez que cargues la página pero luego sera más rápida. La segunda es más rápida pero tienes que tener cuidado con la forma de hacer la consulta, es decir, que sea lo menos pesada para el sistema para evitar problemas de rendimiento.
Yo personalmente lo haría de la segunda forma para evitar tener n variables bastante grandes comiendo recursos del servidor.
Nada más, si necesitas algo más de ayuda no dudes en darme un toque.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas