JSP 模糊查询分页错误,希望高手指点下

来源:百度知道 编辑:UC知道 时间:2024/05/14 03:44:23
String name=new String(request.getParameter("name").trim().getBytes("ISO-8859-1"));
String sex=new String(request.getParameter("sex").trim().getBytes("ISO-8859-1")); //接收name sex参数
Connection con= null;
Statement st =null;
String sql =null;
ResultSet rs=null;
int pageSize; //一个页面显示的记录数目
int totalRowCount; //总的记录的数目
int pageCount; //总的页数
int nextPageNo; //待显示页面的页号
pageSize=5; //设置一个页面所要显示的记录的数目为5条
int i; //用于统计从数据库中读取记录的数目(不能超过一个页面所能显示的记录数pageSize)
String strPage=request.getParameter("page");
if(strPage==null){ //如果page传递的页码参数为空
nextPageNo=1; //设置当前页面为第1页
}
else{
nextPageNo=Integer.parseInt(strPage);
if(nextPageNo<1){ //如果page传递的参数为负数
nextPageNo=1; //则显示第1页
}
}
con =db.getCon();
st=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
if(

首先页面要接收3个参数,nextPageNo、sex、name。你跳转到下一页面时,你并没有给它sex和name这两个参数。导致查询结果混乱,应该<a href="stuselect.jsp?showPage=..&sex=..&name=..">。
其次,获得数据条目的时候应当首先调用rs.next();你这么改
while(i<pageSize&&!rs.isAfterLast()&&rs.next()){
%>

<tr>
<td><%=rs.getString(1)%></td>
<td><%=rs.getString(2)%></td>
<td><%=rs.getString(3)%></td>

</tr>

<%
i++;}
}
如果还是不行的话,应该是页面刷新问题了

你的sql语句似乎和page没有关系!你应该把page参数和pagesize嵌套到你的sql语句中