class Book {
    String title
    String author
}paginate
Purpose
Creates next/previous buttons and a breadcrumb trail for pagination of results
Examples
Example domain class:
Example controller:
class BookController {
    def list() {
        [books: Book.list(params), bookCount: Book.count()]
    }
}Paginate code:
<g:paginate controller="book" action="list" total="${bookCount}" />or
<g:paginate next="Forward" prev="Back"
            maxsteps="0" controller="book"
            action="list" total="${bookCount}" />Description
Attributes
- 
total(required) - The total number of results to paginate
- 
action(optional) - the name of the action to use in the link; if not specified the default action will be linked
- 
controller(optional) - the name of the controller to use in the link; if not specified the current controller will be linked
- 
id(optional) - The id to use in the link
- 
params(optional) - A Map of request parameters
- 
prev(optional) - The text to display for the previous link (defaults to "Previous" as defined bydefault.paginate.prevproperty in the i18nmessages.propertiesfile)
- 
next(optional) - The text to display for the next link (defaults to "Next" as defined bydefault.paginate.nextproperty in the i18nmessages.propertiesfile)
- 
omitPrev(optional) - If set to true, the previous link will never be shown
- 
omitNext(optional) - If set to true, the next link will never be shown
- 
omitFirst(optional) - If set to true, the first page link will only be shown when the first page is within the offset
- 
omitLast(optional) - If set to true, the last page link will only be shown when the last page is within the offset
- 
max(optional) - The number of records to display per page (defaults to 10). Used ONLY ifparams.maxis empty
- 
maxsteps(optional) - The number of steps displayed for pagination (defaults to 10). Used ONLY ifparams.maxstepsis empty
- 
mapping(optional) - The named URL mapping to use to rewrite the link
- 
offset(optional) - Used ONLY ifparams.offsetis empty