精通Grails: 了解插件 - 编程入门网
如在前一章节所展示的那样,SearchableService 非常适合用来进行跨所有域类的站点级别的搜索 。但 Searchable 插件也可以在您个人的域类上做一些元编程。正像 Grails 可以动态地添加 list()、 get() 和 findBy() 方法一样,Searchable 插件可以添加一个 search() 方法。
通过在 Web 浏览器中键入 http://localhost:9090/blogito/entry/search?q=groovy 来测试新的 search 动作。应该会看到一个搜索结果的 hashmap 图,类似于图 4: 图 4. 显示原始的搜索结果 知道了 search() 方法的工作原理后,下一步是要让用户界面更为友好一点。在 grails- app/views/layouts 中创建一个名为 _search.gsp 的局部模板。加入清单 14 中的代码: 清单 14. 局部模板
请注意,在上述代码中,控制器被设为 entry,动作被设为 search。 接下来,该显示这个局部模板了。在一个文本编辑器内打开 grails-app/views/layouts/_header.gsp 并添加一个 render 标签,如清单 15 所示: 清单 15. 为 header 添加这个搜索模板
精通Grails: 了解插件(8)时间:2011-07-25 IBM Scott Davis给 web-app/css/main.css 添加一些 Cascading Style Sheets (CSS) 以确保 search <div> 可以浮在屏幕的右上角,如清单 16 所示: 清单 16. 添加 CSS 来调整搜索表单的位置
所有视图变化均完成后,请刷新浏览器。屏幕看上去应该如图 5 所示: 图 5. 给 header 添加搜索表单 需要做的最后一件事情就是以 HTML 格式提交 search 结果,而不是简单的调试输出。调整 EntryController 内的 search 动作,如清单 17 所示: 清单 17. 一个更健壮的搜索动作
精通Grails: 了解插件(9)时间:2011-07-25 IBM Scott Davis由于该动作被命名为 search,因此需要在 grails-app/views/entry 中创建对应的 search.gsp 文件 ,如清单 18 所示: 清单 18. Search.gsp
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |