如何在play框架中使用java进行分页?
我正在我的web应用程序中进行分页,那么如何做到这一点呢 我想要的是:我想显示所有的用户管理员 我浏览了这个play framework计算机应用程序,但我不想要这种分页如何在play框架中使用java进行分页?,java,scala,playframework,pagination,playframework-2.0,Java,Scala,Playframework,Pagination,Playframework 2.0,我正在我的web应用程序中进行分页,那么如何做到这一点呢 我想要的是:我想显示所有的用户管理员 我浏览了这个play framework计算机应用程序,但我不想要这种分页 计算机-数据库应用程序分页为: 但我想像谷歌一样: 我的查询与计算机数据库应用程序相同: 用户模型部分 public static Page<User> page(int page, int pageSize, String sortBy, String order, String filter) {
计算机-数据库
应用程序分页为:
但我想像谷歌一样:
我的查询与计算机数据库
应用程序相同:
用户模型部分
public static Page<User> page(int page, int pageSize, String sortBy, String order, String filter) {
return
find.where()
.ilike("name", "%" + filter + "%")
.orderBy(sortBy + " " + order)
.findPagingList(pageSize)
.getPage(page);
}
给我一些关于分页的想法。看看吧,它是用scala编写的,但用java可以轻松完成。嗯。。。最简单的方法是检查它有ie。
getTotalPageCount()
方法,这样您就可以轻松地从0迭代到页面计数,为每个结果页面生成链接(删除上一个/下一个箭头以保持样本干净…)
@对于(i您可以在游戏中使用分页模块,这是我的分页示例代码:
这里
计数是数据库中的总数据
skip是调用中跳过的数据量
lengthOfElement是已提取的数据量
collect是每个查询最多将拉入多少数据
@(count:Int, skip:Int, lengthOfElement:Int, collect:Int)
<div class="row">
<div class="col-sm-12 col-md-5">
<div class="dataTables_info" id="DataTables_Table_0_info" role="status" aria-live="polite">total
@count
entries, showing till @{skip+lengthOfElement}th
</div>
</div>
<div class="col-sm-12 col-md-7">
<div class="dataTables_paginate paging_simple_numbers" id="DataTables_Table_0_paginate">
<ul class="pagination">
<li class="paginate_button page-item @if(skip==0){disabled}else{}" id="DataTables_Table_0_previous">
<a href="@student.routes.AllStudentsController.allStudents(skip-collect)" aria-controls="DataTables_Table_0" data-dt-idx="0" tabindex="0"
class="page-link">
Previous
</a>
</li>
@for(i<-0 until count/collect+(if(count%collect!=0){1}else{0})){
<li class="paginate_button page-item @if(skip==i*collect){active}else{}">
<a href="@student.routes.AllStudentsController.allStudents(i*collect)" aria-controls="DataTables_Table_0" data-dt-idx="1" tabindex="0"
class="page-link">
@{i+1}
</a>
</li>
}
<li class="paginate_button page-item @if(lengthOfElement<collect || skip+collect==count){disabled}else{}" id="DataTables_Table_0_next">
<a href="@student.routes.AllStudentsController.allStudents(skip+collect)" aria-controls="DataTables_Table_0" data-dt-idx="3" tabindex="0"
class="page-link">
Next
</a>
</li>
</ul>
</div>
</div>
</div>
@(计数:整数,跳过:整数,长度:整数,收集:整数)
全部的
@计数
条目,显示到@{skip+lengthOfElement}th
-
@对于(我可以告诉我如何获取总页面。这背后的逻辑是什么?@RahulKulhari它只是执行额外的查询,如:
select count(*)…
当然,它包含原始版本中的所有条件。您不需要手动执行,所述方法在后台执行。@biesior链接不再工作。请更新它。@saurav确实,从游戏的2.3分支开始,样本已被移除,取而代之的是Activator的模板和/或种子-答案中提到的代码现在可以在计算机数据库Scala
模板中找到。
public class paging extends Controller {
public static Result pag(int page, String sortBy, String order, String filter) throws ClassNotFoundException, SQLException {
return ok(adm.render(User.page(page, 2, sortBy, order, filter),
sortBy, order, filter));
}
<div id="pagination2" class="pagination">
<ul>
@for(i <- 0 until currentPage.getTotalPageCount()){
<li><a href="@link(i, null)">@(i+1)</a></li>
}
</ul>
</div>
@(count:Int, skip:Int, lengthOfElement:Int, collect:Int)
<div class="row">
<div class="col-sm-12 col-md-5">
<div class="dataTables_info" id="DataTables_Table_0_info" role="status" aria-live="polite">total
@count
entries, showing till @{skip+lengthOfElement}th
</div>
</div>
<div class="col-sm-12 col-md-7">
<div class="dataTables_paginate paging_simple_numbers" id="DataTables_Table_0_paginate">
<ul class="pagination">
<li class="paginate_button page-item @if(skip==0){disabled}else{}" id="DataTables_Table_0_previous">
<a href="@student.routes.AllStudentsController.allStudents(skip-collect)" aria-controls="DataTables_Table_0" data-dt-idx="0" tabindex="0"
class="page-link">
Previous
</a>
</li>
@for(i<-0 until count/collect+(if(count%collect!=0){1}else{0})){
<li class="paginate_button page-item @if(skip==i*collect){active}else{}">
<a href="@student.routes.AllStudentsController.allStudents(i*collect)" aria-controls="DataTables_Table_0" data-dt-idx="1" tabindex="0"
class="page-link">
@{i+1}
</a>
</li>
}
<li class="paginate_button page-item @if(lengthOfElement<collect || skip+collect==count){disabled}else{}" id="DataTables_Table_0_next">
<a href="@student.routes.AllStudentsController.allStudents(skip+collect)" aria-controls="DataTables_Table_0" data-dt-idx="3" tabindex="0"
class="page-link">
Next
</a>
</li>
</ul>
</div>
</div>
</div>