百度分页效果之纯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

效果图如下

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-07-30 10:04:25

百度分页效果之纯jsp版的相关文章

实现百度分页效果的工具类

一个工具类,可实现百度分页效果,前5后4 import java.io.IOException; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.jsp.JspException; import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.tagext.TagSupport; import org.apa

jsp页面数据分页模仿百度分页效果

<%@page import="web09.shop.DBUtil"%> <%@page import="java.sql.ResultSet"%> <%@page import="java.sql.PreparedStatement"%> <%@page import="java.sql.Connection"%> <%@ page language="java

百度富文本编辑器ueditor/jsp版的简单使用,可上传图片和附件

~~经过一上午的时间,终于把ueditor编辑器搞出来了,仅做记录 #完成的样子 1,首先在官网下载对应的插件 [附下载地址:http://ueditor.baidu.com/website/download.html]    本人使用的是Java语言 ,框架是ssm+maven 2,解压文件,在自己项目的根目录下新建文件夹 ueditor,把utf8-jsp中文件复制粘贴到ueditor文件夹下 3,新建一个ueditorTest.jsp,把文件夹中index.html中的HTML代码复制粘贴

导航效果(纯CSS版)

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>导航</title> <style type="text/css"> body{padding: 0px;font-size: 10px;behavior:url(CSS/csshover.htc);} .topmenu{di

php一个简单的百度分页效果

<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> </head> <style> a:link{color:#333;text-decoration:none;} a:visited{color:#333;text-decoration:none;} a:hover{color:#1b61ff;

分页效果的实现

$pagnow当前页 $pagecount总页数 if($pagenow>1){ $prepage=$pagenow-1; echo "<a href='f.php?pagenow=$prepage'>上一页</a>"; } if($pagenow<$pagecount){ $nexpage=$pagenow+1; echo "<a href='f.php?pagenow=$nexpage'>下一页</a>"

纯手写完美实现前端分页效果

经常听人提到前端分页技术,却总也没有完全的实现过,作为做过多年前后端的老码工,真的有必要好好研究一番,以飨读者; 在这里不只是有前端分页页面效果,更有真实数据的展示,实现了真正的分页哦! 内容导读 1.页面设计 2.jQuery之ajax与JSON数据 3.运行效果 说明: (1)需要将源码导入HBuilder中,打开HBuilder直接通过内置服务器运行页面即可实现分页效果 (2)一个分页小技术有时也是让人挠头,这里完全前端实现方式与Java的实现方式,我们提供给你完全的编码参考,希望能够帮到

详谈javaWeb分页的实现(模拟百度分页)

本文出自 http://blog.csdn.net/tjpu_lin/article/details/41050475 最近在开发一个项目,项目中有很多数据展示的模块,所以要用到分页,网上搜了很多分页的例子,但是很多实现的方法和自身的代码实例耦合度太高,导致直接拿来用根本不行. 于是自己只能亲自上阵了,关于分页实现大体逻辑是前台需要和后台相互传递页面参数(例如当前页面,页面大小,总共页数等),后台主要接受前台穿过来的pageNum(当前页码),进行数据查询,然后查完数据后返回给前台的同时也要将页

ueditor1.4.3 jsp版在ssh下的配置

对于ueditor就不介绍了,网上一大把,直接言归正传,其主要问题是图片等的上传. 开发环境: myeclipse2014+tomcat7+spring3.1.1+hibernate4.1.4+struts2.1+ueditor1.4.3 jsp版 备注:上述ssh环境其实就是MyEclipse2014自带的. 新建web project,命名为:news:搭建好ssh环境,从ueditor官网下载最新版:1.4.3 jsp版. 在WebRoot下新建文件夹:ueditor,将下载解压后的ued