jsp 分页显示问题

matchchrist 2015-08-21 05:42:21
<%@ page language="java" contentType="text/html; charset=gb2312"
pageEncoding="gb2312"%>
<%@ page import="java.io.*,java.awt.Image,java.awt.image.*,com.sun.image.codec.jpeg.*,java.sql.*,java.util.*"%>
<%@ page import="java.text.*,java.util.Date"%>
<% request.setCharacterEncoding("gb2312"); %>
<jsp:useBean id="getS" class="com.Login.getConnect"></jsp:useBean>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>分页显示数据库信息</title>
</head>
<body>
<div align="center"><strong>分页显示数据库记录</strong></div>
<br><hr>
<table width="800" border="1" align="center">
<tr>
<td>序号</td><td>评分时间</td><td> 评分人</td><td> 被评分人</td><td>能力评分(10)</td><td>态度评分(5)</td>
</tr>
<%

String username=(String)session.getAttribute("username");
String userrole=(String)session.getAttribute("userrole");
String userid=(String)session.getAttribute("userid");
String yuefen=request.getParameter("yuefen");
try
{

Statement stmt=getS.getS();
String upd="";
if("admin".equals(userrole))
{
upd="select * from yuedu_pf where kaohe_shijian='"+yuefen+"' ";

}
else
upd="select * from yuedu_pf where kaohe_shijian='"+yuefen+"' and pf_ren='"+username+"' ";
System.out.println(upd);
ResultSet rs=stmt.executeQuery(upd);
int intPageSize; //一页显示的记录数
int intRowCount; //记录的总数
int intPageCount; //总页数
int intPage; //待显示的页码
String strPage;
int i;
//设置一页显示的记录数
intPageSize=9;
//取得待显示的页码
strPage=request.getParameter("page");
//判断strPage是否等于null,如果是,显示第一页数据
if(strPage==null)
{
intPage=1;
}else{
//将字符串转换为整型
intPage=java.lang.Integer.parseInt(strPage);
}
if(intPage<1)
{
intPage=1;
}
//获取记录总数
rs.last();
intRowCount=rs.getRow();
//计算机总页数
intPageCount=(intRowCount+intPageSize-1)/intPageSize;
//调整待显示的页码
if(intPage>intPageCount) intPage=intPageCount;
if(intPageCount>0)
{
//将记录指针定位到待显示页的第一条记录上
rs.absolute((intPage-1)*intPageSize+1);
}
//下面用于显示数据
i=0;
while(i<intPageSize && !rs.isAfterLast())
{
%>
<tr>
<td ><%= i %></td>
<td ><%= rs.getString("kaohe_shijian") %></td>
<td ><%= rs.getString("pf_ren") %></td>
<td ><%= rs.getString("bei_pf_ren") %></td>
<td ><%= rs.getString("pf_nl") %></td>
<td ><%= rs.getString("pf_td") %></td>
</tr>
<%
rs.next();
i++;
}

%>
<div align="center">
共<%=intRowCount%>个记录,分<%=intPageCount%>页显示,当前页是:第<%=intPage%>页
<%
for(int j=1;j<=intPageCount;j++)
{
out.print("  <a href='pingfen_chaxun_tj.jsp?page="+j+"'>"+j+"</a>");

}
%>
</div>
<%
}
catch(Exception e)
{
e.printStackTrace();
}
%>
</table>
</body>
</html>

分页显示代码

...全文
162 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
matchchrist 2015-08-24
  • 打赏
  • 举报
回复
if("admin".equals(userrole)) { upd="select * from yuedu_pf where kaohe_shijian='"+yuefen+"' "; } else upd="select * from yuedu_pf where kaohe_shijian='"+yuefen+"' and pf_ren='"+username+"' "; 今天又验证了一次,发现问题就出在这个sql语句中的传参数问题。 这个参数我是在另一个页面中通过 input type=text 的形式 传递过去。在这个界面中是通过 String yuefen=request.getParameter("yuefen"); 接收到参数 但是在分页中,当我点击其他分页。这个参数就传递不过去了。导致 分页的结果是空。 这个参数传递问题,怎么解决呢?
  • 打赏
  • 举报
回复
引用 5 楼 matchchrist 的回复:
[quote=引用 2 楼 执笔记忆的空白的回复:]你的问题呢? 还是你这是分享你的分页代码。。。
可以执行,有第一页内容,没有报错。但是点击分页数字,就不能显示后续的数据内容,只显示了表头。求,指教[/quote] 设个断点调一下吧,看看是点击下一页的时候,看看能不能返回数据
matchchrist 2015-08-21
  • 打赏
  • 举报
回复
引用 4 楼 cao_yunfei的回复:
打个断点自己跟一个代码 //将记录指针定位到待显示页的第一条记录上 rs.absolute((intPage-1)*intPageSize+1); 应该是这里出错了,你可以把这里面的值打印出来就知道了。
可以执行,有第一页内容,没有报错。但是点击分页数字,就不能显示后续的数据内容,只显示了表头。求,指教 打印出来是true。 网上查过,这个分页的原理是把数据存在内存。我这个会不会每次点击分页数字,都执行一次sql,
matchchrist 2015-08-21
  • 打赏
  • 举报
回复
引用 2 楼 执笔记忆的空白的回复:
你的问题呢? 还是你这是分享你的分页代码。。。
可以执行,有第一页内容,没有报错。但是点击分页数字,就不能显示后续的数据内容,只显示了表头。求,指教
cao_yunfei 2015-08-21
  • 打赏
  • 举报
回复
打个断点自己跟一个代码 //将记录指针定位到待显示页的第一条记录上 rs.absolute((intPage-1)*intPageSize+1); 应该是这里出错了,你可以把这里面的值打印出来就知道了。
  • 打赏
  • 举报
回复
你的问题呢? 还是你这是分享你的分页代码。。。
matchchrist 2015-08-21
  • 打赏
  • 举报
回复
数据库有几百条记录,首页能够显示9条记录。点击分页,就不出现数据了。是什么问题呢?
cao_yunfei 2015-08-21
  • 打赏
  • 举报
回复
具体什么错误?报错代码?

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧