2013-07-01 2 views
0

Мои возвращает контроллер результаты в массиве, как это:Сделать Grails PAGINATION

render (template: 'show' , model: [changes: changes]) 

Показать действие по умолчанию и изменения является массив создается с помощью запроса (createCriteria). Как сделать разбивку на страницы на моей странице index.gsp, которая отображает результаты в HTMl div?

Моей проблема:

Контроллер:

def list() { 
     [terminHistorie: changes, terminHistorieCount: changes.size()] 
    } 

GSP:

<g:paginate controller="terminHistorie" action="list" total="${terminHistorieCount}"/> 

Ошибка: Тег [постраничный] отсутствует необходимый атрибут [общий] в C:/Users/matejb/Документы/NetBeansProjects/gutmann/grails-app/views/terminHistorie/index.gsp: 309

ответ

2

Способ разбивки на страницы вам сначала нужно создать представление, используя тег paginate, а затем в вашем действии шоу вам нужно нарезать ваши изменения. Это означает, что представление отправит параметр offset и max, и ваш createCriteria запросит базу данных только для этих данных. Взгляните на это page, а затем here, чтобы узнать, как вы можете пройти max и offset в свой метод createCriteria.

Чтобы увидеть пример, см. Это page или создайте новое приложение с одним простым доменом и создайте для него строительные леса. Grails создаст для вас разбитый на результат результат.

Btw, если вы используете ajax, вы можете использовать плагин remote paginate.