• 百度分页效果之纯jsp版


    数据库连接工具类

    package com.gao.page.utils;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    public class DatabaseConnection {
        /**
         *一个静态方法。返回一个数据库的连接。
         *这样达到了对数据库连接统一控制的目的。
         */ 
        public static Connection getConnection()
        {
            Connection con=null;
            String classForName="com.mysql.jdbc.Driver";
            String servAndDB="jdbc:mysql://localhost/gaodb";
            String user="root";
            String pwd="123"; 
            try
            {
                Class.forName(classForName);
                con = DriverManager.getConnection(servAndDB,user,pwd);
            }
            catch(Exception e)
            {
                e.printStackTrace();
            }
            return con;
        }
    }

    Person实体类

    package com.gao.page;
    
    /** 
     * @作者   Relieved
     * @创建日期   2015年6月14日
     * @描写叙述  (person类) 
     * @版本号 V 1.0
     */
    public class Person {
        private Integer id;
        private String name;
        private Integer gender;
        private String phone;
        private Integer age;
        private String address;
        /**
         * @return the id
         */
        public Integer getId() {
            return id;
        }
        /**
         * @param id the id to set
         */
        public void setId(Integer id) {
            this.id = id;
        }
        /**
         * @return the name
         */
        public String getName() {
            return name;
        }
        /**
         * @param name the name to set
         */
        public void setName(String name) {
            this.name = name;
        }
        /**
         * @return the gender
         */
        public Integer getGender() {
            return gender;
        }
        /**
         * @param gender the gender to set
         */
        public void setGender(Integer gender) {
            this.gender = gender;
        }
        /**
         * @return the age
         */
        public Integer getAge() {
            return age;
        }
        /**
         * @param age the age to set
         */
        public void setAge(Integer age) {
            this.age = age;
        }
        /**
         * @return the phone
         */
        public String getPhone() {
            return phone;
        }
        /**
         * @param phone the phone to set
         */
        public void setPhone(String phone) {
            this.phone = phone;
        }
        /**
         * @return the address
         */
        public String getAddress() {
            return address;
        }
        /**
         * @param address the address to set
         */
        public void setAddress(String address) {
            this.address = address;
        }
    
    
    }
    

    数据库连接操作类

    package com.gao.page;
    
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.util.ArrayList;
    import java.util.List;
    
    import com.gao.page.utils.DatabaseConnection;
    public class Personbean {
        private static Connection con;
        //构造方法,获得数据库的连接。
        static  {
            con=DatabaseConnection.getConnection();
        }
        /**
         * 带分页的查询
         * @param pageSize
         * @param pageNum
         * @return
         * @throws Exception
         */
        public static List<Person> getPersonInf(int pageNum,int pageSize)throws Exception
        {
            PreparedStatement   pstmt=con.prepareStatement("select * from person limit ?

    ,? "); pstmt.setInt(1,(pageNum-1)*pageSize); pstmt.setInt(2,pageSize); ResultSet rst=pstmt.executeQuery(); List<Person> ret=new ArrayList<Person>(); while(rst.next()) { Person temp=new Person(); temp.setId(rst.getInt(1)); temp.setName(rst.getString(2)); temp.setGender(rst.getInt(3)); temp.setPhone(rst.getString(4)); temp.setAge(rst.getInt(5)); temp.setAddress(rst.getString(6)); ret.add(temp); } return ret; } /** * 获取记录总条数 * @return * @throws Exception */ public static int getPersonCount()throws Exception { Statement pstmt=con.createStatement(); String sql = "select * from person"; ResultSet rst=pstmt.executeQuery(sql); rst.last();//移动到最后一行 return rst.getRow(); } }

    jsp页面代码

    <%@page import="java.util.*,com.gao.page.Person"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%
        request.setCharacterEncoding("UTF-8"); 
        String path = request.getContextPath();
        String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html> 
    <head>
    <title>分页查询</title>
    <style type="text/css">
        /*css*/ 
        /*表格修饰*/ 
        .tablelist{ 
        border:1px solid #0058a3; 
        font-family:"Microsoft YaHei",Arial,Helvetica,sans-serif; 
        border-collapse:collapse; 
        border-spacing:1pt; 
        background-color:#eaf5ff; 
        font-size:13px 
        } 
        .tablelist tr.backrow{ 
        background-color:#c7e5ff; 
        } 
        .tablelist td.cen{ 
        text-align:center; 
        } 
        #page
        {
            font: 14px simsun;
            white-space: nowrap;
        }
        p, form, ol, ul, li, dl, dt, dd, h3
        {
            margin: 0;
            padding: 0;
            list-style: none;
        }
        #page a, #page strong
        {
            display: inline-block;
            vertical-align: text-bottom;
            height: 54px;
            text-align: center;
            line-height: 22px;
            text-decoration: none;
            overflow: hidden;
            margin-right: 5px;
            background: white;
        }
        #page a
        {
            cursor: pointer;
        }
        #page .fk
        {
            width: 24px;
            height: 30px;
            background: url(  "./image/bg-1.0.4.png" ) -35px -309px no-repeat;
            cursor: pointer;
        }
        #page .pc
        {
            width: 22px;
            height: 22px;
            border: 1px solid #E7ECF0;
            cursor: pointer;
        }
        #page span
        {
            display: block;
        }
        #page .n
        {
            height: 22px;
            padding: 0 6px;
            border: 1px solid #E7ECF0;
        }
        #page .fk_cur
        {
            background-position: 2px -312px;
        }
        #page strong .pc
        {
            border: 0;
            width: 24px;
            height: 24px;
            line-height: 24px;
        }
        #page .fkd {
            background-position: -35px -303px;
        }
        #page .n:hover, #page a:hover .pc
        {
            background: #EBEBEB;
        }
        .pageDiv{
            margin-left: auto;
            margin-right: auto;
            text-align:center;
        }
    </style>
    <script src="./js/jquery-1.9.1.js"></script>
    
    </head>
    <body>
    <jsp:useBean id="Connection" class="com.gao.page.utils.DatabaseConnection"></jsp:useBean>
    <jsp:useBean id="person" class="com.gao.page.Personbean"></jsp:useBean>
     <%
        final int showPages = 5;//上一页和下一页之间显示的页码数
        int pageNum = request.getParameter("pageNum")==null?1:Integer.parseInt(request.getParameter("pageNum"));//默觉得首页
        int pageSize = request.getParameter("pageSize")==null?6:Integer.parseInt(request.getParameter("pageSize"));//默觉得6条
        List<Person> list = person.getPersonInf(pageNum,pageSize);
        int totalRecords = person.getPersonCount();//总数据条数
        int totalPages = totalRecords%pageSize==0?

    (totalRecords/pageSize):(totalRecords/pageSize+1);//总页码数 int pageStart = Math.max(1, pageNum - showPages/2);//显示的起始页码 int pageEnd = Math.min(totalPages, pageStart + showPages - 1);//显示的尾页 pageStart = Math.max(1, pageEnd - showPages + 1); %> <div class="pageDiv"><h3>员工信息</h3></div> <br> <table class="tablelist" border="1" align="center" width = "80%" > <tr> <th class="cen">Id</td> <th class="cen">姓名</td> <th class="cen">性别</td> <th class="cen">手机号</td> <th class="cen">年龄</td> <th class="cen">地址</td> </tr> <% if(list.size()>0){ for(int i=0;i<list.size();i++) { if(i%2==0){ %> <tr class="backrow"> <td class="cen"><%=list.get(i).getId()%></td> <td class="cen"><%=list.get(i).getName()%></td> <td class="cen"><%=list.get(i).getGender()%></td> <td class="cen"><%=list.get(i).getPhone()%></td> <td class="cen"><%=list.get(i).getAge()%></td> <td class="cen"><%=list.get(i).getAddress()%></td> </tr> <%}else{%> <tr> <td class="cen"><%=list.get(i).getId()%></td> <td class="cen"><%=list.get(i).getName()%></td> <td class="cen"><%=list.get(i).getGender()%></td> <td class="cen"><%=list.get(i).getPhone()%></td> <td class="cen"><%=list.get(i).getAge()%></td> <td class="cen"><%=list.get(i).getAddress()%></td> </tr> <% } }%> </table> <div class="pageDiv"> <p id="page"> <% if(pageNum>1){ %> <a target="_self" href="<%=basePath%>index.jsp?pageNum=<%=(pageNum-1)%>" class="n">&lt;上一页</a> <% } while(pageStart<=pageEnd){ if(pageStart==pageNum){ %> <a target="_self" href="<%=basePath%>index.jsp?pageNum=<%=pageStart%>"> <span class="fk fk_cur"></span><span class="pc"><%=pageStart %></span> </a> <% }else if(pageStart%2!=0){ %> <a target="_self" href="<%=basePath%>index.jsp?pageNum=<%=pageStart%>"> <span class="fk"></span><span class="pc"><%=pageStart %></span> </a> <% }else{ %> <a target="_self" href="<%=basePath%>index.jsp?pageNum=<%=pageStart%>"> <span class="fk fkd"></span><span class="pc"><%=pageStart %></span> </a> <% } pageStart++; } if(pageNum<totalPages){%> <a target="_self" href="<%=basePath%>index.jsp?

    pageNum=<%=(pageNum+1)%>" class="n">下一页&gt;</a> <% } %> </p> </div> <%}else{%> <div class="pageDiv">临时没有数据!</div> <% } %> <script type="text/javascript"> </script> </body> </html>

    项目完整下载路径:http://download.csdn.net/detail/gao36951/8859947
    效果图例如以下
    这里写图片描写叙述
    这里写图片描写叙述这里写图片描写叙述

  • 相关阅读:
    从倒水问题到欧几里得算法扩展
    uva 10651
    STC12C5201AD AD采样+串口发送模板
    [置顶] 中国象棋程序的设计与实现–楚汉棋兵(高级版)(源码)
    【Leetcode】Same Tree
    问卷调查模块实现的过程中的历程
    差一本CSS 3的书,有兴趣的作者来写
    [置顶] 网络认证小结——你有网络身份证吗?
    音乐播放器的实现(简易版)
    空格填充器(alignBySpace)
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/7082386.html
Copyright © 2020-2023  润新知