精通 Grails: 了解插件
2009-10-26 00:00:00 来源:WEB开发网在 index.gsp 的第 100 行左右的位置,应该能够找到一个表单,它可设置 q 参数及递归地将自身提交回 index 动作。清单 11 显示了这个表单:
清单 11. index.gsp 中的 searchable 表单<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>
回过头,再看看 清单 10,可以发现一旦 q 参数内有了一个搜索条件,searchableService.search() 调用的结果就会被返回给 index.gsp。在 index.gsp 中的第 150 行左右,会显示这些结果,如清单 12 所示:
清单 12. 显示搜索结果<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>
- ››精通Photoshop之通道详解
- ››了解Windows Mobile文件结构
- ››了解 IBM Smart Business Development and Test o...
- ››了解 Apache Click:使用轻量模型快速编写 Web 应...
- ››了解 IBM Data Studio Version 2 软件打包方式
- ››了解微软Office 2010数字签名的新特性
- ››了解Sybase IQ服务剑桥天文观测台
- ››了解 Eclipse 中的 JFace 数据绑定,第 1 部分: 数...
- ››了解 Eclipse 中的 JFace 数据绑定,第 2 部分: 绑...
- ››了解 Eclipse 中的 JFace 数据绑定,第 3 部分: 使...
- ››精通 Grails: 使用 Grails 进行单元测试(单元测试...
- ››了解 Tapestry,第 1 部分:启动 Tapestry 并在 J...
更多精彩
赞助商链接