Grails: Search and pagination example implemented in MyBlog

#Controller

class PostController {
.....
    def list(Integer max) {
		def postList
		def postTotal
		def hisPostList
		hisPostList=[]
        params.max = Math.min(max ?: 3, 6)

		if ( params.searchquery == null) {
			postList = Post.list(params)
			postTotal = Post.count()
		}
		else{
			postList = Post.findAllByTitleLikeOrBodyLike('%'+params.searchquery+'%','%'+params.searchquery+'%',params)
			postTotal = Post.findAllByTitleLikeOrBodyLike('%'+params.searchquery+'%','%'+params.searchquery+'%').size()
		}

		if (SecurityUtils.subject.authenticated){
			def user = currentUser()
			hisPostList = user.blog.posts
		}
		
		[postList: postList, postTotal: postTotal, params: params, hisPostList: hisPostList ]
    }
......
 }


 # Template file

 <div id="list-post" class="content scaffold-list" role="main">
			
	<g:if test="${flash.message}">
		<div class="message" role="status">${flash.message}</div>
	</g:if>
	
		
	<g:render template="/blog/post" var="post" collection="${postList}" />
	
	<div class="pagination">
		<g:paginate total="${postTotal}" action="list" params="${params}"/>
	</div>
</div>