快速业务通道

精通Grails: 了解插件 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
Date dateCreated   Date lastUpdated }

精通Grails: 了解插件(2)

时间:2011-07-25 IBM Scott Davis

请注意:必须要显式地让 domain 类变成可搜索的。这意味着您可以继续将基础架构数据,比如登录 和密码,保存在隐藏的 User 类中。

有了这一行代码,就为 Blogito 赋予了 Lucene 和 Compass 的强大功能。键入 grails run-app,启 动这个应用程序,然后访问 http://localhost:9090/blogito/searchable。键入一个搜索关键词,比如 grails,看一下搜索结果,如图 1 所示:

图 1. 默认的搜索结果

虽然搜索出一些结果,但结果不容易描述。要解决这个问题,可以为 Entry.groovy 添加一个 toString() 方法,如清单 3 所示:

清单 3. 为 Entry 添加一个 toString()

class Entry {   static searchable = true   //snip   String toString(){    "${title} (${lastUpdated})"   } }

再次搜索 grails 。这次的结果的用户友好性会有所提高,如图 2 所示:

图 2. 用 toString() 方法得到的搜索结果

这个可搜索插件的原始功能已经就绪,现在可以采取下一个步骤了:将它深入地集成到您的应用程序 内。

精通Grails: 了解插件(3)

时间:2011-07-25 IBM Scott Davis

探索这个插件的基础架构

纵览 Blogito 的所有目录,这里似乎没有任何新的文件。如果通过 Web 浏览器访问 http://localhost:9090/blogito/searchable,那里应该会有一个 grails- app/controllers/SearchableController.groovy 文件。但奇怪的是,该文件不在那里。在 lib 目录中 也应该有一些 Lucene 与 Compass 的 JAR 文件,但它一如您首次键入 grails create-app 启动这个项 目时一样,是空的。实际上,对 Blogito 的惟一更改就是在 application.properties 中加入的这一行 新代码,如清单 4 所示:

清单 4. application.properties,显示了新安装的 Searchable 插件

#utf-8 #Wed Jun 24 15:41:16 MDT 2009 app.version=0.4 app.servlet.version=2.4 app.grails.version=1.1.1 plugins.searchable=0.5.5 plugins.hibernate=1.1.1 app.name=blogito

通过 plug-ins.searchable 这一行代码,可以判断 Blogito 已经知晓 Searchable 插件的存在。那 么所有这些功能都藏在哪了?要想查明,需返回到第一次安装此插件时一闪而过的那个屏幕输出。接下来 ,我将带您探个究竟。

当键入 grails install-plugin searchable 后,所发生的第一件事情是向 Web 发出一个请求来拉出 插件的最新列表,如清单 5 所示:

清单 5. 下载插件的主列表

$ grails install-plugin searchable //snip Reading remote plugin list ...   [get] Getting: http://svn.codehaus.org/grails/trunk/grails-plugins/     .plugin-meta/plugins-list.xml   [get] To: /Users/sdavis/.grails/1.1.1/plugins-list-core.xml   [get] last modified = Mon Jun 22 04:16:31 MDT 2009 Reading remote plugin list ...   [get] Getting: http://plugins.grails.org/.plugin-meta/plugins-list.xml   [get] To: /Users/sdavis/.grails/1.1.1/plugins-list-default.xml   [get] last modified = Wed Jun 24 06:51:24 MDT 2009

这两个列表 — core 和 default — 提供了这些插件的元数据,包括作者、描述和版本号 。更重要的是,在这里,Grails 可以发现实际包含这些插件的 ZIP 文件所对应的 URL。清单 6 显示了 来自于 plugins-list-core.xml 文件的有关 Hibernate 插件的信息:

清单 6. Hibernate 插件 的描述 <plugins revision="9011">  <plugin latest-release="1.1

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号