`
robinsoncrusoe
  • 浏览: 737117 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

JSP仿百度分页,谷歌分页页码处理

阅读更多
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>  

<%@ page import="dao.*"%>  

<%@ page import="bean.*"%>  

<html>  

    <head>  

    </head>  

    <body>  

        <%  

            int pagesize = 10;//每页显示记录数  

            int liststep = 10;//最多显示分页页数  

            int pages = 1;//默认显示第一页  

            if (request.getParameter("pages") != null) {  

                pages = Integer.parseInt(request.getParameter("pages"));//分页页码变量  

            }  

          int count = PageDao.getmaxpagecount();//假设取出记录总数  

            int pagescount = (int) Math.ceil((double) count / pagesize);//求总页数,ceil(num)取整不小于num  

            if (pagescount < pages) {  

                pages = pagescount;//如果分页变量大总页数,则将分页变量设计为总页数  

            }  

            if (pages < 1) {  

                pages = 1;//如果分页变量小于1,则将分页变量设为1  

            }  

            int listbegin = (pages - (int) Math.ceil((double) liststep / 2));//从第几页开始显示分页信息  

            if (listbegin < 1) { //当前页-(总显示的页列表数/2)  

                listbegin = 1;  

            }  

            int listend = pages + liststep / 2;//分页信息显示到第几页//当前页+(总显示的页列表数/2)  

            if (listend > pagescount) {   

                listend = pagescount + 1;  

            }  

        %>  



        <table align="center">  



            <tr>  

                <th>  

                    图书编号  

                </th>  

                <th>  

                    图书名称  

                </th>  

                <th>  

                    出版社  

                </th>  

                <th>  

                    作者  

                </th>  

                <th>  

                    价格  

                </th>  

            </tr>  

            <%  

                List<Book> list = PageDao.getAllPageInfo(pages);  

                Iterator<Book> it = list.iterator();  

                while (it.hasNext()) {  

                    Book b = it.next();  

                    if (b.getId() % 2 == 0) {  

                        out.println("<tr bgcolor='blue'>");  

                    } else {  

                        out.println("<tr bgcolor='red'>");  

                    }  

            %>  

            <td><%=b.getId()%></td>   

            <td><%=b.getBookname()%></td>  

            <td><%=b.getBookpublish()%></td>  

            <td><%=b.getBookauthor()%></td>  

            <td><%=b.getBookprice()%></td>  

            <%  

                out.println("<tr bgcolor='red'>");  

                }  

            %>  

        </table>  

        <table align="center">  

            <tr>  

              <%  

                    //<显示分页信息  

                    //<显示上一页  

                    if (pages > 1) {  

                        out.println("<td><a href=?pages=" + (pages - 1)  

                                + ">上一页</a></td>");  

                    }//>显示上一页   

                    //<显示分页码  

                 for (int i = listbegin; i < listend; i++) {  

                        if (i != pages) {//如果i不等于当前页  

                            out.println("<td><a href=?pages=" + i + ">[" + i  

                                    + "]</a></td>");  

                        } else {  

                            out.println("<td>[" + i + "]</td>");  

                        }  

                    }//显示分页码>  

                    //<显示下一页  

                    if (pages != pagescount) {  

                        out.println("<td><a href=?pages=" + (pages + 1)  

                                + ">下一页</a></td>");  

                    }//>显示下一页  

                    //>显示分页信息  

                %>  

            </tr>  

        </table>  

    </body>  

</html>

Dao层代码:

package dao;     

import java.sql.*;  

import java.util.ArrayList;  

import java.util.List;  

import bean.Book;  

 

public class PageDao {  

    public static int getmaxpagecount() {  

        int num = 0;  

        Connection conn = null;  

        Statement stm = null;  

        ResultSet rs = null;  

        try {  

            conn = ConnectionManager.getInstances();  

            stm = conn.createStatement();  

            rs = stm.executeQuery("select count(*) from book");  

            if (rs.next()) {  

                num = rs.getInt(1);  

            }  

        } catch (SQLException e) {  

            e.printStackTrace();  

        }  

        return num;  

    }  

 

    public static List<Book> getAllPageInfo(int curpage) {  

        List<Book> list = new ArrayList<Book>();  

        Connection conn = null;  

        Statement stm = null;  

        ResultSet rs = null;  

 

        try {  

            conn = ConnectionManager.getInstances();  

            conn.setAutoCommit(false);  

            stm = conn.createStatement();  

            rs = stm  

                    .executeQuery(("select top 10 * from book where id not in (select top " 

                            + ((curpage - 1) * 10) + " id from book order by id)order by id"));  

            while (rs.next()) {  

                Book b = new Book();  

                b.setId(rs.getInt("id"));  

                b.setBookname(rs.getString("bookname"));  

                b.setBookpublish(rs.getString("bookpublish"));  

                b.setBookauthor(rs.getString("bookauthor"));  

                b.setBookprice(rs.getDouble("bookprice"));  

                list.add(b);  

            }  

           conn.commit();  

        } catch (SQLException e) {  

            e.printStackTrace();  

        } finally {  

            try {  

                rs.close();  

                stm.close();  

                conn.close();  

            } catch (SQLException e) {  

                try {  

                    conn.rollback();  

} catch (SQLException e1) {  

                              e1.printStackTrace();  

                }  

                e.printStackTrace();  

            }  

        }  

        return list;  

    }  





数据库连接代码

package dao;  

import java.sql.*;  

public class ConnectionManager {  

      

    public static final String DRIVER="com.microsoft.jdbc.sqlserver.SQLServerDriver";   

public static final String URL="jdbc:microsoft:sqlserver://127.0.0.1:1433;

databasename=pagination";  

public static final String UID="sa";  

public static final String PWD="112233";          

        public static Connection getInstances(){  

            Connection conn=null;  

              

            try {  

                Class.forName(DRIVER);  

                conn=DriverManager.getConnection(URL,UID,PWD);  

            } catch (ClassNotFoundException e) {  

                    e.printStackTrace();   

              } catch (SQLException e) {  

 

                e.printStackTrace();  

            }  

            return conn;  

        }  



分享到:
评论

相关推荐

    jsp仿百度、谷歌分页解决分页太多,始终显示一部分的页码

    仿百度分页,谷歌分页页码处理 解决分页太多,智能始终显示一部分的效果 可以依照这个思路自己改,很好上手,分页思想 都有注释

    JSP实现百度谷歌分页页码功能源代码

    JSP实现百度谷歌分页页码功能源代码 让你的网页跟百度实现一样的分页功能! 欢迎到我的博客交流探讨此类问题!

    jsp+servlet+oracle模仿百度分页

    带学员课上做的oracle模仿百度分页样式的例子。比较适合初学者参考,jdbc工具类是自己写的,没有使用第三方分页组件。tomcat是apache-tomcat-7.0.41,myeclipse是MyEclipse 9.0,oracle是11g。例子中用的是海量数据...

    可以include的jsp独立分页

    有很详细的注释解释,是中国人都应该看的懂,在你需要的分页的页面嵌入这个jsp,通过修改它的默认属性,和使用它的内置方法,就可以达到分页效果,而且可以有自己的样式效果,以下是例子: 你的页面头顶部加入你的文件路径" ...

    jsp 分页代码大全

    自己收集的jsp分页代码。对于北大青鸟Y2的学员可能有用吧。自己也在做这个项目。这里有增、删、该、查加分页。有上一页、下一页、首页、尾页、第几页、还有带数字和点的分页。可以说是非常好的分页代码。想要的朋友...

    jsp + oracle分页简单实用

    功能:JSP数据库操作例程 - 数据分页显示 - JDBC 2.0 - Oracle --%&gt; ;charset=8859_1" %&gt; //变量声明 java.sql.Connection sqlCon; //数据库连接对象 java.sql.Statement sqlStmt; //SQL语句对象 ...

    JAVA分页完美解决方案

    JAVA分页是个经典问题,本人从网上搜集资料,并通过编程,较为完美地决地了这个问题,源码已经上传CSDN,值得下载! 我的方案是用两个TAG完成分页显示...页码格式类似百度和谷歌,比较标准, 用户可输入每页显示的行数。

    JSP下的AJAX分页

    Servlet类中记录当前是第几页。将该页的内容以XML数据格式传递到浏览器中。浏览器读取XML格式中当前的页码。计算上一页和下一页的页码。动态生成显示的内容和更改上一页和下一页的链接中...如此循环及实现分页功能。

    Bootstrap分页条页码过多隐藏部分页码

    当从数据库查出数据过多时,分页条页码太多,将多余部分进行隐藏,永远只显示固定数量的页码

    MySQL真分页(jsp版)

    如果不想写分页,在ConnLink.java文件中DBlink()方法可以返回一个Statement对象,然后就可以利用这个返回值去写你想要的代码了),只要建立一个Page对象,调用SelectRS()方法,将SQL语句当前页码和每页要显示的条数...

    jsp+servlet+json分页

    实现了一个简单分页,使用jsp+servlet+json实现,只是一种最最简单的,适合新手去看,大神勿喷!!!

    JAVA分页完美解决方案修订版

    JAVA分页是个经典问题,本人从网上搜集资料,并通过编程,较为完美地决地了这个问题,浏览、增加、删除、修改、查看、搜索都可以回到原来的页码,源码已经上传CSDN,值得下载!...页码格式类似百度和谷歌,比较标准。

    jsp分页插件--PageBean(java源码)

    * PageControl, 分页控制, 可以判断总页数和是否有上下页. * * 2008-07-22 加入输出上下分页HTML代码功能 * * @author HX * @version 1.1 2008-9-22 */ public class PageBean { /** 每页显示记录数 */ ...

    JSP MySQL真分页.rar

    我的名字叫张帅,我很喜欢JSP。刚刚毕业,还没有找到工作,心里是郁闷的很呀~~~,想在网上找点项目去做,可是网上的大团队都很多,所JSP的项目很难找。 我们欧尚团队一共有四个人。一个美工,三个程序员,曾在东北做...

    jsp分页显示数据源代码

    jsp分页显示数据,可运行,我是用jsp+servlet做的一个项目,数据库用mysql

    关于分页的页面控件

    关于分页的jquery实现

    JSP连接SQL数据库实现数据分页显示

    int pageSize;//一页显示的记录数 int totalItem;//记录总数 int totalPage;//总页数 int curPage;//待显示页码 String strPage; int i;... strPage=request.getParameter("page");//获得待显示页码

    JSP数据库操数据分页显示

    &lt;&#37;...charset=8859_1″ %&gt;&lt;&#37;//变量声明java.sql.Connection sqlCon; //数据库连接对象java.sql.Statement sqlStmt; //SQL语句对象java.sql.ResultSet sqlRst; //结果集对象java.lang.String ...

    JSP 分页显示技术

    JSP分页显示技术 在使用数据库显示记录的过程中,一般记录都有很多条。但JDBC的规范对此却没有很好的解决方法。这就需要编程人员自己想办法解决。那么如何实现呢? 基本思路: 首先计算出从数据库中选取的记录总数,...

    其他类别分页 QQ菜单 jsp标签-noka3.9.rar

    "[其他类别]分页 QQ菜单 jsp标签_noka3.9.rar" 是一个针对Java服务器页面(JSP)开发人员的源码资料包。这个压缩文件包含了多个有关实现分页功能的JSP代码片段,以及如何集成QQ菜单和各种JSP自定义标签库的示例。...

Global site tag (gtag.js) - Google Analytics