[英]Pagination : First page displays all the result
我想在幾個頁面上顯示查詢結果,因此我使用標簽分頁。 除第一頁外,我在所有頁面中都有正確的輸出(我希望每頁5個結果)。 在第一頁中,顯示所有結果。
控制器:
def questions(){
def questions = Question.list(params)
[questions: questions, total: Question.count()?:0, tags: Tags.list(), params: params]
}
視圖
<g:each in="${questions}" var="question">
<div class="row">
${question?.body }
</div>
</g:each>
<div class=pagination>
<g:paginate controller="Question" action="list" total="${total}" max="5" params="${params}"/>
</div>
為什么我在第一頁中得到所有結果?
發生這種情況是因為params
沒有max
。
設置params.max = 10
,然后調用questions()
將導致第一頁有10個項目。
// will result in Question.list(max: 10)
def questions = Question.list(params)
但是,請確保如果后續頁面再次調用相同的操作,則必須將params.max
設置為5或將其完全刪除,因為<g:paginate>
max
會處理其余部分。
您可以在控制器操作的開頭添加以下行:
params.max = params.max ?: 5
如果未指定max
參數,則默認值為5。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.