用javaBean对数据进行分页操作问题

roger_lmj 2009-05-21 03:33:19
今天刚在弄数据库封装操作,在查询中,对数据的显示进行分页用JavaBean实现击“下一页”出现提问提示
type: Status report
message :/item2/PaginateWork%20
description The requested resource: (/item2/PaginateWork%20.jsp) is not available.
老是改不对,对<span></span>里 if。。。。else控制不好
求高手帮忙改一下。下面是主要代码,特别是<a>....</a>里的控制,我是看的书上,自学的,有点搞不懂<span></span>里的那些含义模仿书上改的,谢谢!详细点,再击“下一页'"的转换
<jsp:useBean id="date" class="DBWGZ.datebasework"></jsp:useBean>//数据库封装类
<jsp:useBean id="PgW" class="JBPaginateWork.PaginateWork"></jsp:useBean>//JavaBean分页操作类
<%
//JOptionPane.showMessageDialog(null, "select*from student!");
//等到一个 ArrayList<student>结果集
String chu = "select*from student";
ArrayList<student> al = date.select(chu);
//(一)
//初始当前记录为0条
int currentRecord = 0;
//设置总记录
PgW.setTotalRecord(al.size());
//设置总页数,传递参数进行计算返回到setTotalPage(int totalRecord,int pageSize)方法
PgW.setTotalPage(al.size(), PgW.getPageSize());//PgW.getPageSize()有初始值
//计算并设置分页的参数 ,当前页数和当前记录的条数
//不用!=0 是因为request.getParameter("currentRecord")获取的数据为String型
if (request.getParameter("currentRecord") != null) {
currentRecord = Integer.parseInt(request
.getParameter("currentRecord"));
//当前记录的条数
PgW.setCurrentRecord(currentRecord);
//当前页数
PgW.setCurrentPage(currentRecord, PgW.getPageSize());
}
//(二)
//从 ArrayList<student>结果集中取出当前页面要显示的子集 即当前页面要显示的记录条数
List<student> list = null;
//在后面页面切换中会执行此,会分别从上一个页面数据向后提取显示
if (currentRecord == 0) {
list = al.subList(0, PgW.getPageSize());
}
if (PgW.getCurrentRecord() + PgW.getPageSize() < al.size()) {
list = al.subList(PgW.getCurrentRecord(), PgW
.getCurrentRecord()
+ PgW.getPageSize());
} else{
list = al.subList(PgW.getCurrentRecord() + PgW.getPageSize(),
al.size());
}
%>

</head>

<body>
<table border="1">
<tr><td>sNo</td><td>sName</td><td>sSex</td><td>sBirth</td><td>sClass</td>
<td>sSpecialty</td><td>sXiBie</td><td>sState</td><td>sPhone</td><td>sAddr</td></tr>
<%
if (list.isEmpty() == false) {
for (int a = 0; a < list.size(); a++) {
student table = list.get(a);
out.print("<tr>");
out.print("<td>" + table.getSNo() + "</td>");
out.print("<td>" + table.getSName() + "</td>");
out.print("<td>" + table.getSSex() + "</td>");
out.print("<td>" + table.getSBirth() + "</td>");
out.print("<td>" + table.getSClass() + "</td>");
out.print("<td>" + table.getSSpecialty() + "</td>");
out.print("<td>" + table.getSXiBie() + "</td>");
out.print("<td>" + table.getSState() + "</td>");
out.print("<td>" + table.getSPhone() + "</td>");
out.print("<td>" + table.getSAddr() + "</td>");
out.print("</tr>");
}
}
%>
</table>
//开始启动时出现,总<%=PgW.getTotalRecord()%>条纪录和总<%=PgW.getTotalPage()%>页,有数字,可是是”处于第<%=PgW.getCurrentPage()%>页和每页<%=PgW.getCurrentRecord()%>条值为0,不知道为什么
<span><font size="2">总<%=PgW.getTotalRecord()%>条纪录|
总<%=PgW.getTotalPage()%>页|处于第<%=PgW.getCurrentPage()%>页|
每页<%=PgW.getCurrentRecord()%>条
<%
//关键是此下的含义,我是照着书上弄的,具体含义还不是分清楚帮忙解释一下
if(PgW.getCurrentRecord()-PgW.getPageSize()<0){
out.print("首页|");
}
else{
out.print("<a href='PaginateWork .jsp?currentRecord="+
(PgW.getCurrentRecord()-PgW.getPageSize())+
"&pageSize="+PgW.getPageSize()+"'>上一页</a>|");
}
if(PgW.getCurrentRecord()-PgW.getPageSize()>PgW.getTotalRecord()){
out.print("尾页");
}else{
out.print("<a href='PaginateWork .jsp?currentRecord="+
(PgW.getCurrentRecord()-PgW.getPageSize())+
"&pageSize="+PgW.getPageSize()+"'>下一页</a>|");
}
%>
</font> </span>
</body>
</html>
...全文
98 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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