1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | import org.compass.core.engine.SearchEngineQueryParseException class SearchableController { def searchableService def index = { if (!params.q?.trim()) { return [:] } try { return [searchResult: searchableService.search(params.q, params)] } catch (SearchEngineQueryParseException ex) { return [parseException: true] } } //snip } |
1 2 3 4 5 6 7 | <g:form url='[controller: "searchable", action: "index"]' id="searchableForm" name="searchableForm" method="get"> <g:textField name="q" value="${params.q}" size="50"/> <input type="submit" value="Search" /> </g:form> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <g:if test="${haveResults}"> <div class="results"> <g:each var="result" in="${searchResult.results}" status="index"> <div class="result"> <g:set var="className" value="${ClassUtils.getShortName(result.getClass())}" /> <g:set var="link" value="${createLink(controller: className[0].toLowerCase() + className[1..-1], action: 'show', id: result.id)}" /> <div class="name"><a href="${link}">${className} #${result.id}</a></div> <g:set var="desc" value="${result.toString()}" /> <g:if test="${desc.size() > 120}"> <g:set var="desc" value="${desc[0..120] + '...'}" /> </g:if> <div class="desc">${desc.encodeAsHTML()}</div> <div class="displayLink">${link}</div> </div> </g:each> </div> <!-- snip --> </g:if> |
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |