tengo una aplicación hecha en java mvc necesitaria paginar un consulta hecha a una tabla mysql que se muestra en un jsp porfavor agradeceria su ayuda dejo el codigo
resultado.jsp
<%@page import="mvc.modelo.IdentBusquedaConsEnsayoPg"%>
<%--
Document : index
Created on : 20-ene-2012, 1:21:29
Author : Randy
--%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="Persistencia.DAOViewConsEnsayoPg"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="mvc.modelo.ManejadorBaseDatos"%>
<%@page import="java.util.ArrayList"%>
<%@page import="mvc.modelo.EntidadViewConsEnsayosPg"%>
<%@page import="mvc.controll.ControladorEntidadViewConsEns ayosPg"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%!
public int nullIntconv(String str)
{
int conv=0;
if(str==null)
{
str="0";
}
else if((str.trim()).equals("null"))
{
str="0";
}
else if(str.equals(""))
{
str="0";
}
try{
conv=Integer.parseInt(str);
}
catch(Exception e)
{
}
return conv;
}
%>
<%
ResultSet rsRowCnt = null;
PreparedStatement psRowCnt=null;
int iShowRows=16; // Number of records show on per page
int iTotalSearchRecords=10; // Number of pages index shown
DAOViewConsEnsayoPg dao = new DAOViewConsEnsayoPg();
//parametros recibidos de un form de busqueda
int iTotalRows=nullIntconv(request.getParameter("iTota lRows"));
int iTotalPages=nullIntconv(request.getParameter("iTot alPages"));
int iPageNo=nullIntconv(request.getParameter("iPageNo" ));
int cPageNo=nullIntconv(request.getParameter("cPageNo" ));
dao.setiPageNo(iPageNo);
dao.setiShowRows(iShowRows);
int iStartResultNo=0;
int iEndResultNo=0;
if(iPageNo==0)
{
iPageNo=0;
}
else{
iPageNo=Math.abs((iPageNo-1)*iShowRows);
}
String valor= request.getParameter("txtnroEnsayodesde");
String valor2= request.getParameter("txtnroEnsyohasta");
String valor3= request.getParameter("txtnroSeriedesde");
String valor4= request.getParameter("txtnroSeriehasta");
IdentBusquedaConsEnsayoPg.setTxtnroEnsayodesde(val or);
IdentBusquedaConsEnsayoPg.setTxtnroEnsayohasta(val or2);
IdentBusquedaConsEnsayoPg.setTxtnroseriedesde(valo r3);
IdentBusquedaConsEnsayoPg.setTxtnroseriehasta(valo r4);
//// this will count total number of rows
String sqlRowCnt="SELECT COUNT(*) FROM view_cons_ensayos_pg where (Nro_ensayo_PG >= " + IdentBusquedaConsEnsayoPg.getTxtnroEnsayodesde() + " and Nro_ensayo_PG <= " + IdentBusquedaConsEnsayoPg.getTxtnroEnsayohasta() + ")";
//System.out.println("numero de datos: "+rsRowCnt.getInt(2));
psRowCnt=mvc.modelo.ManejadorBaseDatos.getConexion ().prepareStatement(sqlRowCnt);
rsRowCnt=psRowCnt.executeQuery();
if(rsRowCnt.next())
{
iTotalRows=rsRowCnt.getInt(1);
}
%>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="centrargrid">
<input type="hidden" name="iPageNo" value="<%=valor%>">
<input type="hidden" name="cPageNo" value="<%=cPageNo%>">
<input type="hidden" name="iShowRows" value="<%=iShowRows%>">
<%
//// calculate next record start record and end record
try{
if(iTotalRows<(iPageNo+iShowRows))
{
iEndResultNo=iTotalRows;
}
else
{
iEndResultNo=(iPageNo+iShowRows);
}
iStartResultNo=(iPageNo+1);
iTotalPages=((int)(Math.ceil((double)iTotalRows/iShowRows)));
}
catch(Exception e)
{
e.printStackTrace();
}
%>
<table id="flexme" name="flexme">
<thead>
<tr>
<th width="100">Nro Ensayo</th>
<th width="100">Nro Serie</th>
<th width="100">Responsable</th>
</tr>
</thead>
<tbody>
<%
ControladorEntidadViewConsEnsayosPg enspg = new ControladorEntidadViewConsEnsayosPg();
ArrayList<EntidadViewConsEnsayosPg> vec = enspg.ListarTodos();
for(EntidadViewConsEnsayosPg entity : vec)
{
%>
<tr>
<td><%= entity.getNroEnsayoPg() %></td>
<td><%= entity.getNroSerie()%></td>
<td><%= entity.getResponsable()%></td>
</tr>
<%
}//cierra for
%>
</tbody>
</table>
<%-- FIN DE TABLA QUE CONTIENE LOS DATOS DE LA LISTA --%>
<div id="pageNavPosition"></div>
<div class="pagination">
<ul>
<%
//// index of pages
if(iTotalRows!=0)
{
cPage=((int)(Math.ceil((double)iEndResultNo/(iTotalSearchRecords*iShowRows))));
int prePageNo=(cPage*iTotalSearchRecords)-((iTotalSearchRecords-1)+iTotalSearchRecords);
if((cPage*iTotalSearchRecords)-(iTotalSearchRecords)>0)
{
%>
<li><a href="frm_ResultviewConsEnsayoPg.jsp?iPageNo=<%=pr ePageNo%>&cPageNo=<%=prePageNo%>" class="prevnext disablelink">« previous</a></li>
<%
}
for(i=((cPage*iTotalSearchRecords)-(iTotalSearchRecords-1));i<=(cPage*iTotalSearchRecords);i++)
{
if(i==((iPageNo/iShowRows)+1))
{
%>
<li><a href="frm_ResultviewConsEnsayoPg.jsp?iPageNo=<%=i% >"><%=i%></a></li>
<%
}
else if(i<=iTotalPages)
{
%>
<li><a href="frm_ResultviewConsEnsayoPg.jsp?iPageNo=<%=i% >"><%=i%></a></li>
<%
}
}
if(iTotalPages>iTotalSearchRecords && i<iTotalPages)
{
%>
<li><a href="frm_ResultviewConsEnsayoPg.jsp?iPageNo=<%=i% >&cPageNo=<%=i%>">Siguiente</a></li>
<%
}
}
%>
<p id="CoutnPagin">Registro : <%=iStartResultNo%> - al <%=iEndResultNo%> - Total de Registros encontrados : <%=iTotalRows%> </p>
</ul>
</div>
</div><!--CIERRA DIV QUE CENTRA LA GRID-->
</body>
</html>