使用javabean实现分页
来源:互联网 发布:三峡宜昌广电网络 编辑:程序博客网 时间:2024/04/30 11:32
1分页的javabean
package com.shortmessage.common;import java.util.Date;import java.util.ArrayList;import java.util.List;import java.util.Map;import javax.servlet.jsp.jstl.sql.Result;import com.shortmessage.common.db.SQLHelper;public class SpilitPager {/* * 操作分页的javabean组件 * 1.pageSize 用于确定每页的大小 * 2.currentPage 用于确定当前页 * 3.Object[][] pageList 要分页的记录 * * */private int pageSize = 2; //每页的记录数private int currentPage = 1; //当前页private Object[][] pageList; //二维数组//设置要分页的集合public void setPageList(Object[][] pageList){ this.pageList = pageList;}public Object[][] getPageList(){ return pageList;}public Object[][] getAll(int userId){Object[][] pageList = null;String sql = "select * from tb_message where receiveUser = ?";Integer[] params = {userId};Result result = SQLHelper.runExecuteQuery(sql,params);if(result.getRowCount()>0){Map[] rows = result.getRows();pageList = new Object[rows.length][7];for(int i=0;i<rows.length;i++){pageList[i][0] = Integer.parseInt(rows[i].get("Id").toString());pageList[i][1] = (rows[i].get("title").toString());pageList[i][2] = rows[i].get("content").toString();pageList[i][3] = Integer.parseInt(rows[i].get("sendUser").toString());pageList[i][4] = Integer.parseInt(rows[i].get("receiveUser").toString());pageList[i][5] = Boolean.parseBoolean((rows[i].get("isRead").toString()));pageList[i][6] = (Date)(rows[i].get("sendTime"));}}return pageList;}//根据用户的操作设置当前页public void setCurrentPage(int how){switch(how){ case 1: //表示首页 this.currentPage = 1; break; case 2: //表示上一页 if(this.currentPage>1){ this.currentPage--; } break; case 3: //表示下一页 if(this.currentPage<this.getPageCount()){ this.currentPage++; } break; case 4: this.currentPage = this.getPageCount(); break; }}//得到当前要显示的数据集合public List<Object[]> getCurrentPageList(){int startIndex = (this.currentPage-1)*this.pageSize; //要显示的第一条记录int endIndex = (startIndex+this.pageSize); //当前页显示的最后一条记录if(endIndex>this.pageList.length){ //如果结束位置大于所有的记录endIndex = this.pageList.length; //则结束位置为总记录数}List<Object[]> saveList = new ArrayList<Object[]>();for(int i=startIndex;i<endIndex;i++){saveList.add(this.pageList[i]);}return saveList;}//得到当前页public int getCurrentPage(){return this.currentPage;}//获取总页数public int getPageCount(){int size = this.pageList.length;return size%this.pageSize==0?size/this.pageSize:size/this.pageSize+1;}}
2.jsp页面调用
<!-- 实例化一个操作分页的javabean --> <jsp:useBean id="spilitPage" class="com.shortmessage.common.SpilitPager" scope="session"/> <% UserInfo userInfo = (UserInfo)request.getSession().getAttribute("userInfo"); if(userInfo == null ){ out.println("<script>alert('你还没有登录,请登录!');location.href='login.jsp'</script>"); }else{ UserInfoBo userBo = null; //顶一个userBo,用来获取userName String dohow = request.getParameter("how"); int how = 1; if(dohow!=null){ how = Integer.parseInt(dohow); } Object[][] pageList = spilitPage.getAll(userInfo.getId()); //spilitPage.setPageList(pageList); //spilitPage.setCurrentPage(how); %> <jsp:setProperty property="pageList" name="spilitPage" value="<%=pageList %>" /> <jsp:setProperty property="currentPage" name="spilitPage" value="<%=how %>" /> <table cellpadding="0" cellspacing="0" border="0" width="550px"> <tr> <td colspan="4" height="30px"> 当前用户:<font color="#ooooFF"> <%=userInfo.getUserName() %> 【<a href="#">发送短信息</a>】 【<a href="exit.jsp">退出</a>】</font> </td> </tr> <tr> <td height="30px" width="18%">发信人</td> <td height="30px" width="32%">主题</td> <td height="30px" width="17%">状态</td> <td height="30px" width="33%">发送时间</td> </tr> <% List<Object[]> messageList = spilitPage.getCurrentPageList(); for(int i=0;i<messageList.size();i++){ userBo = new UserInfoBoImpl(); UserInfo sendUser = userBo.getUserInfoById(Integer.parseInt(messageList.get(i)[4].toString())); %> <tr bgcolor="#CCCCCC"> <td height="30px"><%=sendUser.getUserName() %></td> <td height="30px"> <a href="ShowMessageServlet?id=<%=messageList.get(i)[0] %>"><%=messageList.get(i)[1] %></a> </td> <td height="30px"> <% if(Boolean.getBoolean(messageList.get(i)[5].toString())){ %> 已读 <% }else{ %> 未读 <% } %> </td> <td height="30px"><%=((Date)messageList.get(i)[6]).toLocaleString() %></td> </tr> <% } %> <tr> <td colspan="4" align="right" style="padding-top:5px;"> <a href="index.jsp?how=1">首页</a> <a href="index.jsp?how=2">上一页</a> <a href="index.jsp?how=3">下一页</a> <a href="index.jsp?how=4">末页</a> </td> </tr> </table> <% } %>
- 使用javabean实现分页
- 使用javabean实现分页技术
- 使用jsp-javabean-servlet实现分页功能
- jsp+javabean实现分页
- javaBean实现分页
- JavaBean+Jsp 实现页面分页
- JSP+JavaBean+Servlet实现分页
- JSP+servlet+javabean实现分页
- javabean+jsp+DAO实现分页
- jsp+servlet+javaBean实现分页
- JSP+Servlet+JavaBean实现分页
- 使用JSP+JavaBean进行分页
- MySQL实现分页JSP+JAVABEAN实现
- jsp+servlet+javaBean怎样实现分页
- javaBean+servlet+jsp实现分页效果
- jsp+servlet+javabean实现数据分页
- JavaBean+Servlet+jsp真分页实现
- IT忍者神龟之jsp+javabean实现分页
- windows核心编程-互斥器(Mutexes)
- Andrew Stankevich's Contest #8 Solution
- poj Dropping tests 01分数规划---Dinkelbach算法
- poj 1308
- java邮件开发
- 使用javabean实现分页
- C++得到当前进程所占用的内存
- C++下载文件
- 使用xdebug调试PHP程序
- 联想A820 root+gmail+chrome
- Ubuntu下解决bash 没有那个文件或目录的方法
- 面向对象(继承-抽象-接口)
- 开博客了
- uva 10344 23 out of 5 凑运算结果 全排列+dfs