Play!2.1 分页写法

简介: 不知道Play实现分页的方法有多少。   play提供的一种是这样的。 首先实现一个分页类: public static class Page { private final int pageSize; private final long totalRowCount...

不知道Play实现分页的方法有多少。

 

play提供的一种是这样的。

首先实现一个分页类:

public static class Page {
		private final int pageSize;
		private final long totalRowCount;
		private final int pageIndex;
		private final List<ServerModel> list;

		public Page(List<ServerModel> data, long total, int page, int pageSize) {
			this.list = data;
			this.totalRowCount = total;
			this.pageIndex = page;
			this.pageSize = pageSize;
		}
		public long getTotalRowCount() {
			return totalRowCount;
		}
		public int getPageIndex() {
			return pageIndex;
		}
		public List<ServerModel> getList() {
			return list;
		}
		public boolean hasPrev() {
			return pageIndex > 1;
		}
		public boolean hasNext() {
			return (totalRowCount / pageSize) >= pageIndex;
		}
	}

 模版文件中的分页:

<ul>
              @if(currentPage.hasPrev) {
                  <li class="prev">
                      <a href="@link(currentPage.getPageIndex - 1)">&larr; 上一页</a>
                  </li>
              } else {
                  <li class="prev disabled">
                      <a>&larr; 上一页</a>
                  </li>
              }
              @if(currentPage.hasNext) {
                  <li class="next">
                      <a href="@link(currentPage.getPageIndex + 1)">下一页 &rarr;</a>
                  </li>
              } else {
                  <li class="next disabled">
                      <a>下一页 &rarr;</a>
                  </li>
              }
          </ul>

 其中的link方法定义:

@link(newPage:Int) = @{
    var sortBy = currentSortBy
    var order = currentOrder
    routes.Action.list(newPage)
}

 我在这里犯过一个错误,方法定义的最后一行不是来自routes文件而是写成了包路径,导致生成的href是

href="SimpleResult(200, Map(Content-Type -> text/html; charset=utf-8))"

 

 

 

 

目录
相关文章
|
18天前
|
前端开发
bladex中自定义分页的写法~
bladex中自定义分页的写法~
23 0
|
11月前
|
前端开发
Echarts实战案例代码(21):front-endPage的CJJTable前端分页插件ajax分页异步加载数据的解决方案
Echarts实战案例代码(21):front-endPage的CJJTable前端分页插件ajax分页异步加载数据的解决方案
58 0
|
11月前
|
容器
laypage静态数据分页组件的调用实战代码
laypage静态数据分页组件的调用实战代码
49 0
|
11月前
|
JavaScript 前端开发
page4array.js数组翻页插件库的使用
page4array.js数组翻页插件库的使用
36 0
单Acitivty+Fragment的优化写法。
一直以来,在写单Acitivty+Fragment的时候,标题栏的布局虽然 include 同一个,但是每次代码里都要对标题栏进行setText() ,而且每次都要写一遍标题栏的点击事件,而在以前的学习使用中,都没有考虑过去对它们进行一个优化。
56 0
|
缓存 数据处理
如何用一个接口优雅的实现2个List的翻页加载
如何用一个接口实现2个list的翻页加载,需求如下图所示,当list1数据全部加载完毕之后再返回list2的数据。
109 0
|
JavaScript
jQuery find 和 filter 方法的区别
jQuery find 和 filter 方法的区别
jQuery find 和 filter 方法的区别
|
JavaScript 搜索推荐 前端开发
【自然框架】QuickPager分页控件,新增一种分页方式——伪URL分页(Postback版)
适用场景   先说一下伪URL分页的适用场景。在网站的网页里实现查询功能,如果查询条件比较少的话,还比较好办,把查询条件放到URL里面传递即可。但是如果查询条件过多,就会照成URL的长度过长。既不好看,编写起来也很麻烦。
1132 0

热门文章

最新文章