【第22期】观点:IT 行业加班,到底有没有价值?

很好的jsp+servlet+javaBean实现数据分页代码例子

转载 2015年11月19日 14:52:02

自己参考别人并动手写的一个jsp+servlet+javaBean实现数据分页代码例子,省去了数据库连接部分,给出核心代码。

1.首先创建实现分页功能的javabean

public class PageBean {

    private int curPage = 1; //当前是第几页
    private int maxPage; //一共有多少页
    private int maxRowCount; //一共有多少行
    public int rowsPerPage = 5; //每页多少行

    Connection conn;
    public ArrayList data;

    public PageBean() throws Exception {
        this.setPageBean();
    }
    public int getCurPage() {
        return curPage;
    }
    public int getMaxPage() {
        return maxPage;
    }
    public int getMaxRowCount() {
        return maxRowCount;
    }
    public int getRowsPerPage() {
        return rowsPerPage;
    }
    public void setCurPage(int curPage) {
        this.curPage = curPage;
    }
    public void setMaxPage(int maxPage) {
        this.maxPage = maxPage;
    }
    public void setMaxRowCount(int maxRowCount) {
        this.maxRowCount = maxRowCount;
    }
    public void setRowsPerPage(int rowsPerPage) {
        this.rowsPerPage = rowsPerPage;
    }
    //得到要显示于本页的数据
    public PageBean getResult(String page) throws Exception {
        try {
            PageBean pageBean = new PageBean();
            ArrayList list = new ArrayList();
            System.out.println("page=="+page);
            int pageNum = Integer.parseInt(page);
            System.out.println("pageNum=="+pageNum);
            conn=DBUtil.getConnetion(); 
            Statement stmt = conn.createStatement();
            String strSql = "select * from receivemail limit "+pageNum * pageBean.rowsPerPage;//改成你的表
            System.out.println("pageNum * pageBean.rowsPerPage=="+pageNum * pageBean.rowsPerPage);
            ResultSet rset = stmt.executeQuery(strSql);
            boolean flag = rset.absolute((curPage-1)*pageBean.rowsPerPage+1); //把结果集指针调整到当前页应该显示的记录的开始.
            int i = 0;
            while (rset.next()) {
                    //这里要和表的字段对应起来!!!!
                    ReceiveMail mail=new ReceiveMail();
                    mail.setReceiveid(rset.getInt("receivid"));
                    mail.setRecontent(rset.getString("scontent"));
                    mail.setUid(rset.getInt("uid"));
                    mail.setState(rset.getInt("state"));
                    mail.setStime(rset.getString("stime"));
                    mail.setSubject(rset.getString("subject"));
                    mail.setRecontent(rset.getString("recontent"));
                    mail.setRetime(rset.getString("retime"));
                    list.add(mail);
                i++;
            }
            System.out.println("i=="+i);
            DBUtil.CloseAll();
            pageBean.setCurPage(pageNum);
            pageBean.data = list;
            return pageBean;
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("PageBean显示本页数据逻辑erro");
            throw e;

        }
    }
    //获取总行数
    public int getAvailableCount() throws Exception {
        int ret = 0;
        conn=DBUtil.getConnetion();
        Statement stmt = conn.createStatement();
        String strSql = "select * from receivemail";//改成你的表
        ResultSet rset = stmt.executeQuery(strSql);
        while (rset.next()) {
            ret++;
        }
        return ret;
    }
    //初始化时对PageBean进行设置
    public void setPageBean() throws Exception {
        //得到总行数
        this.setMaxRowCount(this.getAvailableCount());
        if (this.maxRowCount % this.rowsPerPage == 0) { //根据总行数计算总页数
            this.maxPage = this.maxRowCount / this.rowsPerPage;
        } else {
            this.maxPage = this.maxRowCount / this.rowsPerPage + 1;
        }
    }

}
2.然后创建处理跳转的servlet

public class PageServlet extends HttpServlet {

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        //try (PrintWriter out = response.getWriter()) {
    }
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        //processRequest(request, response);
       
        
    }
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
        
         try
      {
            PageBean page1=new PageBean();
            PageBean page2=page1.getResult(String.valueOf(request.getParameter("jumpPage").trim()));
              //把PageBean保存到request对象中。注意:viewpage.jsp里jsp:useBean id必须为"page2"才可以!!!
              request.setAttribute("page2",page2);
      }
      catch(Exception e)
      {
              System.out.println("servlet erro");
      }

          /**
       *把视图派发到<span style="font-family: Arial, Helvetica, sans-serif;">newMail.jsp</span>
       */
      javax.servlet.RequestDispatcher dis=request.getRequestDispatcher("newMail.jsp");
      dis.forward(request,response);
        
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}
3.最后创建展示页面

   <body>
        <div>
            <table id="t" border="1">
                <tr>
                    <th class="t1_1">邮件编号</th>
                    <th class="t1">发件人</th>
                    <th class="t1">主题</th>
                    <th class="t1">内容</th>
                    <th class="t1">发送时间</th>
                    <th class="t1_2">状态</th>
                    <th class="t1_2">回复内容</th>
                    <th class="t1_2">回复时间</th>
                    <th>操作</th>
                </tr>  
             
        <script type="text/javascript">  
            function Jumping(){
                   document.PageForm.submit();
                   return ;
                }

            function gotoPage(pagenum){
                document.PageForm.jumpPage.value = pagenum;
                document.PageForm.submit();
                return ;
              }
        </script>
            
       <%
            String s=String.valueOf(page2.getCurPage());
            System.out.println("s=="+s);
            try{
                    ArrayList list=page2.getResult(s).data;
                    System.out.println("list.size="+list.size());
                    for(int i=0;i<list.size();i++){
                    ReceiveMail mail=(ReceiveMail)list.get(i);
        %>
      
        <tr>
             <td class="t2" ><%=mail.getReceiveid()%></td>
             <td class="t2"><%=mail.getUid()%></td>
             <td class="t2"><%=mail.getSubject()%></td>
             <td class="t2"><%=mail.getScontent() %></td>
             <td class="t2"><%=mail.getState() %></td>
             <td class="t2_2"><%=mail.getStime() %></td>
             <td class="t2_2"><%=mail.getRecontent() %></td>
             <td class="t2_2"><%=mail.getRetime() %></td>
             <td class="t2"><a href="javascript:openwindow('Detail_prize.jsp?id=',<%=mail.getReceiveid()%>,'<%=mail.getUid()%>')">回复</a></td>
        </tr>
        <%
                    } }catch(Exception e){
                        System.out.println("显示出错");
                    }
        %>
            </table>
            <%if(page2.getMaxPage()!=1){ %>
            <form name="PageForm" action="PageServlet" method="post">
                每页<%=page2.rowsPerPage%>行
                共<%=page2.getMaxRowCount()%>行
                第<%=page2.getCurPage()%>页
                共<%=page2.getMaxPage()%>页<BR>
                <%
                    if (page2.getCurPage() == 1) {
                    out.print(" 首页 上一页");
                    }else {
                %>
                <a HREF="javascript:gotoPage(1)">首页</A>
                <a HREF="javascript:gotoPage(<%=page2.getCurPage()-1%>)">上一页</A>
                <%}%>
        <%
            if (page2.getCurPage() == page2.getMaxPage()) {
            out.print("下一页 尾页");
        }else {
        %>
        <a HREF="javascript:gotoPage(<%=page2.getCurPage()+1%>)">下一页</A>
        <a HREF="javascript:gotoPage(<%=page2.getMaxPage()%>)">尾页</A>
        <%}%>
        转到第<SELECT name="jumpPage" onchange="Jumping()">
        <%
            for (int i = 1; i <= page2.getMaxPage(); i++) {
            if (i == page2.getCurPage()) {
        %>
        <OPTION selected value="<%=i%>"><%=i%> </OPTION>
        <%} else {%>
            <OPTION value="<%=i%>"><%=i%> </OPTION>
        <%}
        }%>
        </SELECT>
            页
            </form>
           <%}%>
            </div>            
    </body>

省略了EmaiBean这块封装代码。

举报

相关文章推荐

JSP+JavaBean+Servlet实现分页

今天给同学用JSP+JavaBean+Servlet做了个分页。用的是MySQL+Tomcat+MyEclispe环境。分页计数器如下:package org.pagedemo.page;/** * ...
  • qpyong
  • qpyong
  • 2008-09-15 18:39
  • 5868

一个通用的分页PageBean

package com.ppy.web.util;import java.util.List;public class PageBean { /**  *   *   * @author ppy  2...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

java+jsp+servlet实现分页

web.xml配置: abc test.pageServlet abc /inse

分页功能的实现(servlet+javabean)

在浏览商品的时候我们常常看到上一页,下一页。 那么分页是怎么实现的呢? 其实我们首先看这句sql语句。select * from book limit 0,4这句sql语句的意思就是:从boo...

java-web分页操作(javaBean+Servlet+jsp)

Java-web分页操作(jsp+servlet+javaBean) 一   分页操作分析 分页在web项目中是非常重要的技术,打开每一个网页都可以看到分页 1.疑问的出现 在写分页前要了解什...

jsp+servlet+javabean (MVC)分页

最近遇到了分页的问题,以前说真的没仔细研究过了,这几天仔细高了一下,基本原理高清楚了,上次我发了一个jsp的分页程序了,其实那个还有很多地方完善,这两天总结了一下,用MVC摸式改进了一下,还是强调一点...

使用jsp-javabean-servlet实现分页功能

1、首页首先设置数据库:表名叫good,表的信息如下图: 插入信息为: 2、展示项目结构: 3、第一步写jsp页面,也就是mvc模式的view视图层: <% String pa...

java web 分页实现

分页内容被广泛应用于各个系统,从在编人员管理系统,到网站商品信息展示,及其他管理系统。分页具有条理清晰,方便查看等优点。 主要内容要点 jsp servlet dao 泛型 基本类 jdbc数据库...

JSP分页代码实例

ArticleList 标题 作者 类型 点击 加入时间 int i; int ipage=10; int allpage; int pages; int c...

jsp分页技术的例子实现和总结

在jsp开发中,在前台的数据展示页面,经常遇到这样的情况,很多条的数据,有几十上百条,而只显示10条,然后翻页显示下面的十条,如下图所示:     处理方式:一:首先sql语句,使用not ...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)