1、需要用到的jar包、js文件

JSONArray().fromObject()需要的jar包:

(1)commons-beanutils-1.8.3.jar

(2)commons-collections-3.2.1.jar

(3)commons-lang-2.6.jar

(4)commons-logging-1.1.1.jar

(5)ezmorph-1.0.6.jar

(6)json-lib-2.4-jdk15.jar

jqPaginator分页组件:http://jqpaginator.keenwon.com/

(1)jquery-1.11.0.min.js

(2)jqPaginator.min.js

2、

 public class NewsListPage {

     //当前页码
private int pageIndex;
//每页显示的记录条数
private int pageSize;
//总页数
private int pageCount;
//当前页的数据
private List<News> newsList = new ArrayList<News>();
}
   1 //获得分页的新闻信息列表
  public NewsListPage getNewsListPage(int pageSize,int pageIndex){
NewsListPage newsListPage = new NewsListPage();
List<News> newsList = iFrameDao.getNewsList(pageSize, pageIndex);
int count = iFrameDao.getNewsCount(); //计算需要分的页数
int pageCount = 0;
if(count%pageSize == 0){
pageCount = count/pageSize;
}else{
pageCount = count/pageSize + 1;
}
......
...... return newsListPage;
}
//获得newslist.jsp新闻信息列表
public List<News> getNewsList(int pageSize,int pageIndex){
List<News> newsList = iFrameDao.getNewsList(pageSize,pageIndex);
return newsList;
} //获得新闻记录总数
public int getNewsCount(){
int count = iFrameDao.getNewsCount();
return count;
}

servlet:

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { IFrameBll iframeBll = new FrameBll(); // 设定默认的每页显示条数
int pageSize = 15;
// 设定默认的页码数
int pageIndex = 1;
String currentIndex = request.getParameter("pageIndex");
if(currentIndex != null){
pageIndex = Integer.parseInt(currentIndex);
}
//获得分页的新闻信息列表
NewsListPage newsListPage = iframeBll.getNewsListPage(pageSize,pageIndex);
JSONArray json = null;
json=new JSONArray().fromObject(newsListPage);
PrintWriter out = response.getWriter();
out.write(json.toString());
out.flush();
out.close();
}

js:

/**
* newslist.jsp
*/
var model = {
pageIndex: 1, //索引页
pageSize: 3, //每页列表的行数
//filterCounts: 1, //筛选后的总行数
pageCount: 1,//总页数
}; $(document).ready(function () {
Filter();
}); function Filter() {
$.ajax({
type:"POST",
dataType:"json",
url:"news.do", //回发到的页面
data:"pageIndex=" + model.pageIndex + "&pageSize=" + model.pageSize,
//async:false,
cache:false,
success: function(data) {
var newsdata = eval(data);
if (newsdata[0].pageCount == 0 ) {
//model.filterCounts = 1;
}else{
model.pageSize = newsdata[0].pageSize;
model.pageCount = newsdata[0].pageCount;
model.pageIndex = newsdata[0].pageIndex;
}
$("#news").empty(); //清空div中内容
$("#news").append('<ul id="ulnews" class="allnews">'+'</ul>'); $.each(newsdata[0].newsList, function (index, content) {
。。。。。
            显示的数据,具体样式自定义。
。。。。。
}) paginator(model.pageIndex, model.pageSize,model.pageCount); },
error:function(){
$("#news").empty(); //清空div中内容
$("#news").append('<strong><p style="text-indent:2em">No Contents</p></strong>');
}
});
} function paginator(pageIndex, pageSize, pageCount) {
$.jqPaginator('#jqPaginator', {
totalPages: pageCount,
visiblePages: 10,
currentPage: pageIndex,
pageSize: pageSize,
first: '<li><a href="javascript:void(0);">First<\/a><\/li>',
prev: '<li><a href="javascript:void(0);">Previous<\/a><\/li>',
next: '<li><a href="javascript:void(0);">Next<\/a><\/li>',
last: '<li><a href="javascript:void(0);">Last<\/a><\/li>',
page: '<li><a href="javascript:void(0);">{{page}}<\/a><\/li>',
onPageChange: function (n, type) {
if (type == 'change' && n != model.pageIndex) {
model.pageIndex = n; //点击改变页码时,同步model中的页码
Filter(); //重新生成新表
}
}
});
}

jsp:

          <h2>News</h2>
<div id="news" style="height:350px">
<strong><p style="text-indent:2em">No Contents</p></strong>
</div>
<div align="center">
<ul class="pagination" id="jqPaginator"></ul>
</div>

效果图:

Java Web开发之分页(ajax)的更多相关文章

  1. 『实践』Java Web开发之分页(ajax)

    1.需要用到的jar包.js文件 JSONArray().fromObject()需要的jar包: (1)commons-beanutils-1.8.3.jar (2)commons-collecti ...

  2. SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。

    熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...

  3. java web开发必备知识

    从各种招聘网站的要求上筛选出了一些java开发的一些基本的要求,对照自身看看有哪些缺陷. java基础 既然是java web开发,java SE肯定要学好了. 多线程,IO,集合等,对队列,缓存,消 ...

  4. java web 开发入门

    Java web,是java技术用来解决web互联网领域的技术总和.Java web技术主要包括客户端和服务端,java在客户端的服务有java applet,不过用的非常少,大部分应用在服务端,比如 ...

  5. 【Java Web开发学习】跨域请求

    [Java Web开发学习]跨域请求 ================================================= 1.使用jsonp ===================== ...

  6. Java Web开发中MVC设计模式简介

    一.有关Java Web与MVC设计模式 学习过基本Java Web开发的人都已经了解了如何编写基本的Servlet,如何编写jsp及如何更新浏览器中显示的内容.但是我们之前自己编写的应用一般存在无条 ...

  7. 【转】 java web开发之安全事项

    从事java web开发也有几年了,可是开发中的安全问题却越来越不以为然.直到不久遇到一黑软,瞬间sql注入,少时攻破网站数据库.还好,我还没有用root级的用户连接数据库.不过也没有什么用了,因为我 ...

  8. 【原创】三分钟教你学会MVC框架——基于java web开发(2)

    没想到我的上一篇博客有这么多人看,还有几位看完之后给我留言加油,不胜感激,备受鼓励,啥都别说了,继续系列文章之第二篇.(如果没看过我第一篇博客的朋友,可以到我的主页上先浏览完再看这篇文章,以免上下文对 ...

  9. [Java Web整合开发王者归来·刘京华] 1、 Java Web开发

      目录: 1.Web技术简介 2.动态网站与静态网站 3.Java Web开发模式 4.JavaScript简介 1.Web技术简介 PS: 最近还有更凶残的技术,即整个操作系统都是基于Web的,如 ...

随机推荐

  1. store.js - 轻松实现本地存储(LocalStorage)

    store.js 是一个兼容所有浏览器的 LocalStorage 包装器,不需要借助 Cookie 或者 Flash.store.js 会根据浏览器自动选择使用 localStorage.globa ...

  2. BPM配置故事之案例8-根据表单数据调整审批线路

    Boss突然来到:小明啊,咱们的物资申请金额现在既然可以确定了,以后金额在1万以下的申请单,就不用我审批了.直接通过就行了. 小明:好的 然后小明把流程线路改成了这样. 线路条件1 线路条件2

  3. C/C++ 一些常用的运算符

    算数运算符 语法 解释说明举例 a + b 加法(求和)1+1..2+2..   2.5+2.5..等等 a - b 减法(求差)5 - 2.. a * b 乘法(求积)2 * 5 a / b 除法( ...

  4. Failed to connect to JobMonApp on port 13491

    今天为了解决别的问题,把/etc/hosts文件里的 127.0.0.1 localhost改成了 127.0.0.1 DSETL ,结果运行作业的时候就报这个错:Failed to connect ...

  5. [ACM] 1007 -球球方格

    与兔子方格类似,不过一秒走一格: 输入 代码 #include<iostream> using namespace std; int main(void) { int test_count ...

  6. Tomcat系统部署启动问题分析一例[sudo 启动]

    今天的系统获取新的版本后部署时突然tomcat无法启动,而比较版本的变化内容,也就是几个jsp和js文件的变化,对于web.xml等都没有调整. 这个问题很是奇怪,下面把步骤总结一下,以避免类似的问题 ...

  7. Android 查看手机中所有进程

    真机测试的时候发现DDMS对进程的显示很不给力,一些进程管理工具又不显示包名. 所以就自己写了一个小程序,查看自己手机中的进程,显示当前时间和进程的包名: 程序运行截图: 布局: <Linear ...

  8. Android Handler机制(四)---Handler源码解析

    Handler的主要用途有两个:(1).在将来的某个时刻执行消息或一个runnable,(2)把消息发送到消息队列. 主要依靠post(Runnable).postAtTime(Runnable, l ...

  9. RecyclerView的基本使用

    1.布局文件中使用 <android.support.v7.widget.RecyclerView android:id="@+id/recycleview" android ...

  10. 【代码笔记】iOS-点击加号增加书架,点击减号减少书架

    一,效果图. 二,工程图. 三,代码. ReaderViewController.h #import <UIKit/UIKit.h> @interface ReaderViewContro ...