簡體   English   中英

如何在play框架中使用java進行分頁?

[英]How to do pagination using java in play framework?

我在我的網絡應用程序中進行分頁 ,所以如何做到這一點?

我想要的是:我想向管理員展示所有用戶!

我通過這個游戲框架計算機應用程序計算機數據庫,但我不希望這種類型的分頁computer -database應用程序分頁是:

在此輸入圖像描述

但我想像谷歌:

在此輸入圖像描述

我的查詢與computer-database應用程序相同:

模型的一部分用戶

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);
    }

視圖是:

adm.scala.html

控制器是:

public static Result enter() {
        Form<Login> loginForm = Form.form(Login.class).bindFromRequest();

        if (loginForm.hasErrors()) {
            return badRequest(logi.render(loginForm));// errorsAsJson());
        }

        if(loginForm.get().email.equals("admin@admin.com") ) {

            return redirect(routes.paging.pag(0, "name", "asc", ""));

        }

paging.java

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));

    }

給我一些分頁的想法。

您可以在播放時使用paginate模塊, 試試這個

看看它http://www.kev009.com/wp/2012/12/reusable-pagination-in-play-2/它是用scala編寫的,但只需很少的努力就可以在java中完成

嗯......最簡單的方法是檢查它擁有的Ebean的Page類API getTotalPageCount()方法,因此您可以輕松地從0迭代到頁數 ,為每個結果頁面生成鏈接(刪除上一個/下一個箭頭以保持樣本清潔......)

<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是數據庫中的總數據,

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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM