1 2 3 4 5 6 7 8 9 10 11 | class EntryController { def beforeInterceptor = [action:this.&auth, except:["index", "list", "show", "atom", "search"]] def search = { render Entry.search(params.q, params) } //snip } |
1 2 3 4 5 6 7 8 9 | <div id="search"> <g:form url='[controller: "entry", action: "search"]' id="searchableForm" name="searchableForm" method="get"> <g:textField name="q" value="${params.q}" /> <input type="submit" value="Search" /> </g:form> </div> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <g:render template="/layouts/search" /> <div id="header"> <p><g:link class="header-main" controller="entry">Blogito</g:link></p> <p class="header-sub"> <g:link controller="entry" action="atom"> <img src="${createLinkTo(dir:'images',file:'feed-icon-28x28.png')}" alt="Subscribe" title="Subscribe"/> </g:link> A tiny little blog </p> <div id="loginHeader"> <g:loginControl /> </div> </div> |
1 2 3 4 | #search { float: right; margin: 2em 1em; } |
1 2 3 4 5 6 7 | def search = { //render Entry.search(params.q, params) def searchResults = Entry.search(params.q, params) flash.message = "${searchResults.total} results found for search: ${params.q}" flash.q = params.q return [searchResults:searchResults.results, resultCount:searchResults.total] } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <meta name="layout" content="main" /> <title>Blogito</title> </head> <body> <g:if test="${flash.message}"> <div class="message">${flash.message}</div> </g:if> <div class="body"> <div class="list"> <g:each in="${searchResults}" status="i" var="entry"> <div class="entry"> <h2> <g:link action="show" id="${entry.id}">${entry.title}</g:link> </h2> <p>${entry.summary}</p> </div> </g:each> </div> </div> <div class="paginateButtons"> <g:paginate total="${resultCount}" params="${flash}"/> </div> </body> </html> |
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |