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. 使用Eclipse+Maven+Jetty构建Java Web开发环境(几个教程综合集成2014发行)

    工作需要使用Jetty由于web集装箱,得知Eclipse+Maven+Jetty该组合是非常好的,因此,要在网上找了很多教程,但不写或多或少特定的或过时的内容而导致最终的配置失败,易于配置为未来的同 ...

  3. 『实践』VirtualBox 5.1.18+Centos 6.8+hadoop 2.7.3搭建hadoop完全分布式集群及基于HDFS的网盘实现

    『实践』VirtualBox 5.1.18+Centos 6.8+hadoop 2.7.3搭建hadoop完全分布式集群及基于HDFS的网盘实现 1.基本设定和软件版本 主机名 ip 对应角色 mas ...

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

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

  5. 个人的java web开发书单

    首发至个人博客http://www.zidafone.com/blog/36 以下是对一些读过的书和一些买后随便翻了翻的书的个人感觉.都是java web开发的程序员可能接触的书,其他的如设计/手机开 ...

  6. 《Java web 开发实战经典》读书笔记

    去年年末,也就是大四上学期快要结束的时候,当时保研的事情确定了下来,终于有了一些空闲的时间可以学点实用的技术. 之前做数据库课程设计的时候,也接触过java web的知识,当时做了一个卖二手书籍的网站 ...

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

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

  8. 《Java Web开发实战》——Java工程师必备干货教材

    一年一度毕业季,又到了简历.offer漫天飞,失望与希望并存的时节.在IT行业,高校毕业生求职时,面临的第一道门槛就是技能与经验的考验,但学校往往更注重学生的理论知识,忽略了对学生实践能力的培养,因而 ...

  9. java web 开发三剑客 -------电子书

    Internet,人们通常称为因特网,是当今世界上覆盖面最大和应用最广泛的网络.根据英语构词法,Internet是Inter + net,Inter-作为前缀在英语中表示“在一起,交互”,由此可知In ...

随机推荐

  1. JAVA里面的“指针”

    JAVA里面的“指针”                 众所周知,在java里面是没有指针的.那为何此处还要说java里面的“指针”呢?我们知道在C/C++中,指针是指向内存中的地址.那么在Java里 ...

  2. JVM中各种变量保存位置

    Java中变量分为静态变量,实例变量,临时变量.那么各种变量具体保存在JVM中的何处呢? 1 静态变量:位于方法区. 2 实例变量:作为对象的一部分,保存在堆中. 3 临时变量:保存于栈中,栈随线程的 ...

  3. 51nod 1636 教育改革 | DP

    51nod 1636 教育改革 | DP 题面 最近A学校正在实施教育改革. 一个学年由n天组成.A学校有m门课程,每天学生必须学习一门课,一门课程必须在一天内学习完.在学习完第i门课程后,学生们会收 ...

  4. JS的关键字this

    1.关于this this关键字是JavaScript中最复杂的机制之一.它是一个很特别的关键字,被自动定义在所有函数的作用域中. 1.1 为什么要用this? this提供了一种更优雅的方式来隐式地 ...

  5. MVC 中@Html.DropDownListFor() 设置选中项 这么不好使 ? [问题点数:40分,结帖人lkf181]

    http://bbs.csdn.net/topics/390867060 由于不知道错误原因在哪 我尽量把代码都贴出来吧:重点是:在 Controller 类里 我给 SelectListItem集合 ...

  6. Docker 安装tensorflow

    安装DOCKER 1. https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/ nstall from a packag ...

  7. vhost配置

    server { listen ; server_name local.*****.com; index index.html index.htm index.php; root /home/wwwr ...

  8. python---django中权限框架设计

    一:admin下的权限了解 推文:如何正确使用 Django的User Model (一)默认权限表是在自带auth模块,中permission表中 可以使用has_perm方法获取用户是否有这个权限 ...

  9. Spring和springmvc父子容器注解扫描问题详解

      一.Spring容器和springmvc容器的关系如下图所示: Spring和springmvc和作为两个独立的容器,会把扫描到的注解对象分别放到两个不同的容器中, Springmvc容器是spr ...

  10. 调用weka模拟实现 “主动学习“ 算法

    主动学习: 主动学习的过程:需要分类器与标记专家进行交互.一个典型的过程: (1)基于少量已标记样本构建模型 (2)从未标记样本中选出信息量最大的样本,交给专家进行标记 (3)将这些样本与之前样本进行 ...