WEB开发网
开发学院软件开发Java 精通 Grails: 了解插件 阅读

精通 Grails: 了解插件

 2009-10-26 00:00:00 来源:WEB开发网   
核心提示: Grails 插件可服务于同样的目的,不过,精通 Grails: 了解插件(2),规模更大,它们可以包括很多 JAR 及 GroovyServer Page (GSP)、控制器、TagLib、服务等,(下一章节将会深入介绍安装插件时的技术细节,) 接下来,就像 SiteMesh 将两个 GSP

Grails 插件可服务于同样的目的,不过,规模更大。它们可以包括很多 JAR 及 GroovyServer Page (GSP)、控制器、TagLib、服务等。就像 SiteMesh 将两个 GSP 合并成一个一样,插件可以将两个或多个 Grails 应用程序合并成一个。这样您就可以将更多的精力用于核心业务需求,在需要的时候,从外部资源加入所需的额外功能 — 查询、认证、备用表示层等。

此外,插件实质上也是外部 资源。虽然 Grails 开发团队已经编写了一些有价值的插件,但绝大多数插件仍来自于社区。实际上,Grails 团队一直致力于在适当的时候将其核心功能整合进插件,这就使得 Grails 自身在每次发布的时候都更小也更为稳定。

那么如何将其应用到 Blogito — 您在本系列中逐步构建的这个 “小型博客” 应用程序中呢?假设您想添加的下一个功能是本地搜索功能。并且您愿意采用一个现有的解决方案而不是从头构建一个您自已的搜索基础架构,那么请往下看。

安装一个搜索插件

这个搜索插件能为您的应用程序带来类似 Google 那样的搜索能力。它使用 Apache Lucene 创建索引,用 Compass 将索引钩挂到 Grails Object Relational Mapping (GORM)/Hibernate 生命周期。这就意味着每当您创建、更新或删除一个 domain 类时,Lucene 索引都会相应更新。

要想安装此插件,请键入 grails install-plugin searchable。(下一章节将会深入介绍安装插件时的技术细节。)

接下来,将这行代码 — static searchable = true — 添加到 grails-app/domain/Entry.groovy,如清单 2 所示:


清单 2. 让 Entry 类成为可查询的
class Entry { 
 static searchable = true 
 
 static constraints = { 
  title() 
  summary(maxSize:1000) 
  filename(blank:true, nullable:true) 
  dateCreated() 
  lastUpdated() 
 } 
 
 static mapping = { 
  sort "lastUpdated":"desc" 
 } 
 
 static belongsTo = [author:User] 
 
 String title 
 String summary 
 String filename 
 Date dateCreated 
 Date lastUpdated 
} 

上一页  1 2 3 4 5 6 7  下一页

Tags:精通 Grails 了解

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接