jsp 分页实现 参考http://jihao.iteye.com/blog/253280

package com.utils;

public class Entry {
    private int entryID;
    private boolean asDraft;
    private String title;
    private String content;
    
    
    /**
     * For further extension
     */
    private boolean setTop;
    
    /**
     * For further extension, make it easy to be searched by google
     */
    private String staticLinkURL;

public int getEntryID() {
        return entryID;
    }

public void setEntryID(int entryID) {
        this.entryID = entryID;
    }

public boolean isAsDraft() {
        return asDraft;
    }

public void setAsDraft(boolean asDraft) {
        this.asDraft = asDraft;
    }

public String getTitle() {
        return title;
    }

public void setTitle(String title) {
        this.title = title;
    }

public String getContent() {
        return content;
    }

public void setContent(String content) {
        this.content = content;
    }

public boolean isSetTop() {
        return setTop;
    }

public void setSetTop(boolean setTop) {
        this.setTop = setTop;
    }

public String getStaticLinkURL() {
        return staticLinkURL;
    }

public void setStaticLinkURL(String staticLinkURL) {
        this.staticLinkURL = staticLinkURL;
    }
    
    
}

package com.utils;
import java.util.ArrayList;
import java.util.List;
 
public class PagingDAO {
 
    public static List<Entry> entryList = new ArrayList<Entry>();
 
    static {
        for (int i = 0; i < 116; i++) {
            Entry e = new Entry();
            e.setEntryID(i);
            e.setTitle("The title for the article " + i + " ");
            entryList.add(e);
        }
    }
 
    public static List<Entry> getEntryList(int pageNum, int pageSize) {
        System.out.println(pageNum+";"+pageSize);
        List<Entry> ret = new ArrayList<Entry>();
        int start = (pageNum - 1) * pageSize;
        int end = start + pageSize - 1;
        System.out.println(start+"-"+end);
        if (start >= entryList.size())
            return ret;
        
        for (int i = start; i <= end; i++) {
            if (i < entryList.size())
                ret.add(entryList.get(i));
        }
        
        return ret;
    }
}

package com.utils;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class PostsServlet
 */
@WebServlet("/PostsServlet")
public class PostsServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public PostsServlet () {
        super();
        // TODO Auto-generated constructor stub
    }

/**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        String pageNumberStr = request.getParameter("pageNumber");
        int pageNumber = 1;
        if(pageNumberStr!=null && !pageNumberStr.isEmpty())
        {
            pageNumber = Integer.parseInt(pageNumberStr);
        }
        
        int pageSize = 10; //分页大小
        int totalPosts = PagingDAO.entryList.size(); //总文章数
        int totalPages = totalPosts/pageSize + ((totalPosts%pageSize)>0?1:0); //计算得出的总页数
        
        request.setAttribute("pageSize", pageSize);
        request.setAttribute("totalPosts", totalPosts);
        request.setAttribute("pageNumber", pageNumber);
        request.setAttribute("totalPages", totalPages);
        
        List<Entry> entryList = PagingDAO.getEntryList(pageNumber, pageSize);
        System.out.println("entryList:"+ entryList.size());
        request.setAttribute("entryList", entryList);
        
        request.getRequestDispatcher("welcome.jsp").forward(request, response);        
    }

/**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}

package com.utils;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class PostsServlet
 */
@WebServlet("/PostsServletafter")
public class PostsServletafter extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public PostsServletafter() {
        super();
        // TODO Auto-generated constructor stub
    }

/**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        String pageNumberStr = request.getParameter("pageNumber");
        int pageNumber = 1;
        if(pageNumberStr!=null && !pageNumberStr.isEmpty())
        {
            pageNumber = Integer.parseInt(pageNumberStr);
        }
        
        int pageSize = 10; //分页大小
        int totalPosts = PagingDAO.entryList.size(); //总文章数
        int totalPages = totalPosts/pageSize + ((totalPosts%pageSize)>0?1:0); //计算得出的总页数
        
        request.setAttribute("pageSize", pageSize);
        request.setAttribute("totalPosts", totalPosts);
        request.setAttribute("pageNumber", pageNumber);
        request.setAttribute("totalPages", totalPages);
        
        List<Entry> entryList = PagingDAO.getEntryList(pageNumber, pageSize);
        System.out.println("entryList:"+ entryList.size());
        request.setAttribute("entryList", entryList);
        
        request.getRequestDispatcher("welcome.jsp").forward(request, response);        
    }

/**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
    <form name="tssearch" id="tssearch"
            action="${pageContext.request.contextPath }/PostsServlet"
            method="post">
            <div class="im">
                <img src="images/bgr.jpg" width="366" height="220" />
            </div>
            <div id="tab">
                <div class="selectedDiv">
                    <dl class="sec">
                        <dd>
                        <select name="selectType"><option value="aid">输入用户ID</option>
                                <option value="qq">输入用户QQ</option>
                                <option value="mobile">输入用户 手机号</option>
                                <option value="zhifubao">输入用户支付宝</option>
                                <option value="weixin">输入用户微信号</option>
                                <option value="e_mail">输入用户邮箱地址</option>
                                <option value="aname">输入用户昵称</option>
                                <option value="realname">输入用户真实姓名</option></select>
                        </dd>
                        <dd>
                            <input type="text" name="pageNumber"" /><span>${form.errors.searchText }</span>
                        </dd>
                        <dd>
                            <button type="submit">搜 索</button>
                        </dd>
                    </dl>
                </div>
            </div>
            <div class="tital">
                <h2>选择论坛</h2>

<div class="clear"></div>
                <ul class="more">

<li><input type="radio" name="bbsName" value="renren" />人人网</li>
                    <li><input type="radio" name="bbsName" value="gjhl" />赶集婚恋</li>
                    <li><input type="radio" name="bbsName" value="aimu5" />爱穆网</li>

<li><input type="radio" name="bbsName" value="wy163" />网易论坛</li>

<li><input type="radio" name="bbsName" value="doc88" />道客巴巴</li>

<!-- ######--->

<li><input type="radio" name="bbsName" value="y4dg" />影视帝国</li>
                    <li><input type="radio" name="bbsName" value="eastday" />东方网</li>
                    <li><input type="radio" name="bbsName" value="wy163" />网易论坛</li>
                    <li><input type="radio" name="bbsName" value="tiexue" />铁血论坛</li>
                    <li><input type="radio" name="bbsName" value="xinhua" />发展论坛</li>
                    <li><input type="radio" name="bbsName" value="dayoo" />大洋论坛</li>
                    <li><input type="radio" name="bbsName" value="people" />强国论坛</li>
                    <li><input type="radio" name="bbsName" value="tianya" />天涯论坛</li>
                    <li><input type="radio" name="bbsName" value="voc" />华声论坛</li>
                    <li><input type="radio" name="bbsName" value="ifeng" />凤凰论坛</li>
                    <li><input type="radio" name="bbsName" value="sina" />新浪论坛</li>
                    <li><input type="radio" name="bbsName" value="xilu" />西陆论坛</li>

<li><input type="radio" name="bbsName" value="sinamobile" />新浪微博</li>
                    <li><input type="radio" name="bbsName" value="youyuan" />有缘网</li>
                    <li><input type="radio" name="bbsName" value="taonan" />淘男网</li>
                    <li><input type="radio" name="bbsName" value="supei" />速配网</li>
                    <li><input type="radio" name="bbsName" value="jnqy" />江南情缘</li>
                    <li><input type="radio" name="bbsName" value="hongniang" />红娘网</li>
                    <li><input type="radio" name="bbsName" value="jiayuan" />世纪佳缘</li>
                    <li><input type="radio" name="bbsName" value="lianpuie" />FaceBook</li>
                    <li><input type="radio" name="bbsName" value="muslim" />中穆网</li>
                    <li><input type="radio" name="bbsName" value="muslimwww" />穆斯林在线</li>
                    <li><input type="radio" name="bbsName" value="zhihu" />知乎</li>
                    <li><input type="radio" name="bbsName" value="xici" />西祠胡同</li>
                    <li><input type="radio" name="bbsName" value="tongcheng" />58同城</li>

<li><input type="radio" name="bbsName" value="qianlong" />千龙网</li>
                    <li><input type="radio" name="bbsName" value="southcn" />南方论坛</li>
                    <li><input type="radio" name="bbsName" value="mala" />麻辣论坛</li>
                    <li><input type="radio" name="bbsName" value="szbbs" />深圳论坛</li>
                    <li><input type="radio" name="bbsName" value="moslem" />星期五穆斯林俱乐部</li>
                    <li><input type="radio" name="bbsName" value="muslem" />中国穆斯林青年网</li>
                    <li><input type="radio" name="bbsName" value="pt80" />捌零音乐论坛</li>
                    <li><input type="radio" name="bbsName" value="mqingy" />穆民情缘论坛</li>

</ul>
                <div class="clear"></div>
            </div>
            <!--/tital-->
        </form>
</body>
</html>

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.Iterator"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<script type="text/javascript">
function gotoSelectedPage()
{
    var x = document.getElementById("navigatorForm");
    //alert("Original action: " + x.action)
    x.submit();
}
</script>
<form     action="${pageContext.request.contextPath }/PostsServlet"
            method="post">
    <a href="Posts?pageNumber=1">首页</a>
    <c:if test="${pageNumber>1}">
        <a href="PostsServlet?pageNumber=${pageNumber-1}">上一页</a>
    </c:if>
    跳转到第 <select name="pageNumber" onchange="gotoSelectedPage();">
    <c:forEach begin="1" end="${totalPages}" step="1" var="pageIndex">
        <c:choose>
            <c:when test="${pageIndex eq pageNumber}">
                <option value="${pageIndex}" selected="selected">${pageIndex}</option>
            </c:when>
            <c:otherwise>
                <option value="${pageIndex}">${pageIndex}</option>
            </c:otherwise>
        </c:choose>
    </c:forEach>
    </select>页
    <c:if test="${pageNumber<totalPages}">
        <a href="PostsServlet?pageNumber=${pageNumber+1}">下一页</a>
    </c:if>
    <a href="PostsServlet?pageNumber=${totalPages}">末页</a>
</form>

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.Iterator"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

page Size : ${pageSize}
<br />
Total Posts: ${totalPosts}
<br />
Total Pages: ${totalPages}
<br />
Current Page: ${pageNumber}
<hr />

<table>
    <thead>
        <tr align="center">
            <td width="10%">Article ID</td>
            <td width="70%">Article Title</td>
            <td colspan="3">Actions</td>
        </tr>
    </thead>
    <tbody>
        <c:forEach items="${entryList}" var="entry">
            <tr align="center">
                <td>${entry.entryID}</td>
                <td>${entry.title}</td>
                <td><a href="viewEntry?entryID=${entry.entryID}">View</a></td>
                <td><a href="editEntry?entryID=${entry.entryID}">Edit</a></td>
                <td><a href="deleteEntry?entryID=${entry.entryID}">Delete</a></td>
            </tr>
        </c:forEach>
    </tbody>
    <tfoot>
        <tr align="center">
            <td colspan="5">
                <jsp:include page="paging_footer.jsp"></jsp:include>
            </td>
        </tr>
    </tfoot>
</table>

<hr/>

时间: 2024-10-28 11:13:24

jsp 分页实现 参考http://jihao.iteye.com/blog/253280的相关文章

JSP分页显示实例(基于Bootstrap)

首先介绍一款简单利落的分页利器:bootstrap-paginator 效果截图: GitHub官方下载地址:https://github.com/lyonlai/bootstrap-paginator 备用下载地址:http://files.cnblogs.com/files/Dreamer-1/bootstrap-paginator-master.rar 下面就来详细介绍一下基于这款分页利器的JSP分页显示实现过程(注:相较于原网页我隐去了很多不必要的内容,本例只专注于分页显示的实现) 一:

眼下最好的JSP分页技术

2005-08-24   来源:CSDN  作者:wanchao2001 前言     在使用数据库的过程中,不可避免的须要使用到分页的功能,但是JDBC的规范对此却没有非常好的解决.对于这个需求非常多朋友都有自己的解决方式,比方使用 Vector等集合类先保存取出的数据再分页.但这样的方法的可用性非常差,与JDBC本身的接口全然不同,对不同类型的字段的支持也不好.这里提供了一种与 JDBC兼容性非常好的方案.   JDBC和分页 Sun的JDBC规范的制定,有时非常让人哭笑不得,在JDBC1.

JSP 分页代码

jsp 分页模板 后台分页代码: 说明: 在 com.zc.domain 包下: PageBean.java 文件 package cn.itcast.customer.domain; ? import java.util.List; ? /** * * @author not-bug * @function: 这是用于分页的PageBean 对象 * @instructions: 这是按照面向对象的思想,进行的分页处理的操作 用泛型主要是为了提高代码的可重用性. * 分页中的每一条记录都是一个

Oracle数据库JSP分页

创建表 create table t_user( username varchar(20), password varchar(20)); insert into t_user values('aa','aa'); 导入jdbc驱动 e:\oracle\product\10.1.0\Db_3\jdbc\lib\ojdbc14.jar 创建DB类,内容如下: package util; import java.sql.Connection; import java.sql.DriverManage

jsp分页技术

如果一张表的数据有非常多,页面就需要分页展示,但一次性从数据库中读取全部的数据会给服务器带来巨大压力.jsp分页技术的设计思想来源于"select * from employee limit ?,?"这条sql语句,第一个"?"指查询的起始位置,第二个"?"代表偏移量.页面需要展示多少数据,每次就从服务器读取多少数据,大大减轻了服务器的压力.下面开始实现一个javaweb的demo帮助大家更好的理解. 一.准备工作: MySQL中创建一张用例表

spring web flow 2.0入门(转:http://luanxiyuan.iteye.com/blog/2282126)

Spring Web Flow 2.0 入门详解 博客分类: spring 目录: 参考文献 购物车用例 什么情况下可以使用 Spring Web Flow? 配置 Spring Web MVC 配置 Spring Web Flow 2.0 的基础 在购物车示例应用中配置 Spring Web Flow 用 Unified EL 实现业务逻辑 用 subflow 实现添加商品到购物车功能 global transition 简介 1.参考文献 参考1:http://www.ibm.com/dev

http://stamen.iteye.com/blog/1441794Spring @Trancation注解

Spring可以通过注解@Transactional来为业务逻辑层的方法(调用DAO完成持久化动作)添加事务能力. @Tranactional注解分析 作用域:Transactional作用于类上表示类上所有的方法使用指定的事务管理策略,作用于方法表示该方法使用指定的事务管理策略:如果方法和类同时定义了@Tranactional注解,那么方法上定义的@Tranactional的属性覆盖类上定义的@Tranactional的属性 value: 用于匹配Spring中定义的tranactionMan

Mybatis入门实例(三)——使用MyBatis Generator生成DAO(转载http://qiuqiu0034.iteye.com/blog/1163026)

接上回 http://qiuqiu0034.iteye.com/blog/1162952 虽然MyBatis很方便,但是想要手写全部的mapper还是很累人的,好在MyBatis官方推出了自动化工具,可以根据数据库和定义好的配置直接生成DAO层及以下的全部代码,非常方便. 需要注意的是,虽然自动化工具需要一个配置文件,但是MyBatis的配置文件仍然不能少,自动化工具的配置文件用于对生成的代码的选项进行配置,MyBatis的配置文件才是运行时的主要配置文件. 这个工具叫做MyBatis_Gene

学习windows内核书籍推荐 ----------转自http://tieshow.iteye.com/blog/1565926

虽然,多年java,正在java,看样子还得继续java.(IT小城,还是整java随意点)应用程序 运行于操作系统之上,  晓操作系统,方更晓应用程序.主看windows,因为可玩性高,闭源才有意思.(莫忘2008年,微软盗版黑屏事件)书籍推荐(全中文 ),按顺序======  windows应用程序  =============C&C++, 略 (懒~,就那几本,程序员都知道)<windows程序设计> (第5版.珍藏版), 非珍藏版的翻译垃圾,莫看<WINDOWS.核心编程