2011-02-09 4 views
1

я имею эту ошибку, когда я нажимаю на кнопку постраничной:
GroovyPageView обработка Ошибка: Тег [постраничной] отсутствует необходимый атрибут [общий] в/дома/user1/рабочее пространство/ADM-Appserver-менеджер /grails-app/views/emailNotification/status.gsp:59Grails пагинация тег ошибки

и мой код: в GSP:

<div class="paginateButtons"> 
      <g:paginate total="${emailNotificationInstanceTotal}" /> 

</div> 

в контроллере:

def status = { 
    [ 
     emailNotificationInstanceList:EmailNotification.findAllByStatus(EmailNotification.Status.Sent, params), 
     emailNotificationInstanceTotal:EmailNotification.countByStatus(EmailNotification.Status.Sent) 
    ] 
} 

я упомянуть общий атрибут, но я не знаю, почему эта ошибка появляется

+0

Почему downvoting ??? – fabien7474

+0

Не могли бы вы вставить весь свой код контроллера? – fabien7474

+0

статус DEF = {[emailNotificationInstanceList: EmailNotification.findAllByStatus (EmailNotification.Status.Sent, PARAMS), emailNotificationInstanceTotal: EmailNotification.countByStatus (EmailNotification.Status.Sent)]} –

ответ

2

Убедитесь, что ваш контроллер возвращает этот параметр в вашем возврате или рендеринге. Вы также должны добавить значение по умолчанию в свой контроллер или представление, в случае сбоя вызова источника.

<g:paginate total="${emailNotificationInstanceTotal?:0}" /> 

Или

emailNotificationInstanceTotal: EmailNotification.countByStatus(EmailNotification.Status.Sent)?:0 
+0

Я пробую ваш ответ, этот ответ избегайте только ошибки, чтобы ошибка не появлялась, но результат неправильный, поскольку, когда я нажимаю кнопку второй страницы, список выглядит пустым, а в списке все еще есть запись. У вас есть другой ответ, если хотите?! .. –

+0

похоже, что ваш второй вызов контроллера для следующей страницы результатов не передается в параметрах max или offset, или ваш контроллер не обрабатывает их правильно, чтобы получить правильные результаты возвращаются к представлению. Добавьте println в действие вашего контроллера и посмотрите, вернутся ли эти параметры к действию. – JeffSea

+0

i Добавить println в действие моего контроллера, эти параметры возвращают его к действию –

0

Проблема заключается в том, что emailNotificationInstanceTotal равна нулю, так что вы должны проверить значение, посылаемого из контроллера или когда эта переменная является чтобы убедиться, что он не является нулевым и имеет значение int, равное 0 или выше.

+0

emailNotificationInstanceTotal имеет значение равным 26, я пытаюсь написать в коде gsp

$ {emailNotificationInstanceTotal}

, а когда я запустил свое приложение, появится номер 26, это число записей в базе данных. –

+0

Это действительно странно, я получил эту ошибку только в том случае, когда общее значение равно null или вообще не определено. – Maricel

+0

Я знаю, что эта ошибка не появляется, если общее значение> 0, но в первый раз у меня есть эта ошибка с общим значением> 0, я не знаю, как я ее разрешу. –

0

Try повторного создания контроллера. В моем случае я однажды изменил имя класса домена, но я не смог сгенерировать контроллер, который вызвал у меня эту ошибку.

0

ГравировкаPaginationTag в основном используется для обработки разбиения на страницы для списка, который вы просматриваете на определенной веб-странице.

Здесь, в Oodles Technologies, мы активно работаем с Grails Development.

Для этих плагинов Просто добавьте одну строку в файл config.groovy.

компиляция ": дистанционная нумерация страницы: 0.4.8"

Удаленные модули разбиения на страницах обеспечивают нам Tage для пагинацией с использованием Ajax без загрузки страницы. Он предоставляет нам много тегов для разбивки на страницы для списка нужного вам объекта.

Для примера:

public class Person{ 
    String name 
    long id 
    } 

На контроллере

public class PersonController{ 

    def list{ 
    [list:Person.list()] 
    } 

    def filterPersonList{ 
    render('listTemplate',model:[count:Person.list().size(),list:Person.list()]) 
    } 
    } 

Теперь на вашем _listTemplate GSP

Действие: название ссылки, которые будут использоваться в пагинацией

Итого : размер списка

обновление: Идентификатор DIV/пролет, которые содержат шаблон

Макс: выборка Макс листа

Params: передать свой собственный PARAMS

maxsteps: Номер шага отображается для пагинации

Это может помочь избавиться от ошибки.

Надеюсь, это поможет.

Смежные вопросы