快速业务通道

精通Grails: 创建自定义插件 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15

精通Grails: 创建自定义插件

时间:2011-08-02 IBM Scott Davis

这个 精通 Grails 系列文章主要关注智能代码重用。如果您需要在多个地方复制和粘贴相同的 GroovyServer Pages (GSP) 代码段,您就可以创建一个部分模板或一个自定义 TagLib。如果您发现有一 两个方法在多个控制器或域类中很普遍,您就可以使用 ExpandoMetaClass 创建一个抽象父类来直接扩展 或嫁接这些方法。如果您有某个共享应用程序功能,那么可以将它重构为一个服务或一个自定义编解码器 。

关于本系列

Grails 是一个现代的 Web 开发框架,它将熟悉的 Java™ 技术(比 如 Spring 和 Hibernate)和最新的实践(比如约定优于配置)结合起来。用 Groovy 编写的 Grails 使 您可以与遗留的 Java 代码无缝集成,同时又添加了脚本语言的灵活性和动态性。学习了 Grails 之后, 您将对 Web 开发有新的看法。

但这些都是微观层面上的东西。如果在宏观层面有某个共享功能, 需要控制器和域类、服务和编解码器,以及一个典型的 Grails 的其他组件的联合和协调,那又该怎么办 呢?如前所述,答案就是插件。

在 “精通 Grails:了解插件” 中,我们学习了一个 现有插件:Searchable。Grails Plugins 门户网站有 250 多个插件可用(参见 参考资料)。这个数字 还在不断增加,原因是通过插件扩展现有的 Grails 应用程序是 Grails 的核心理念。在本文中,您将学 习如何构建自己的自定义插件。示例插件的源代码可以从 下载 获取。

ShortenUrl 插件简介

测试至上

测试您的 Grails 应用程序总是很重要,在创建插件时,测试尤其重要。插件中 的缺陷的负面影响可能会成倍放大,损害安装该插件的应用程序。您将看到,本文将重点关注测试。

在这个 Twitter.com 和手机消息通讯时代,许多长 URL 不能满足消息上设置的 140 个字符的限 制,这是一件麻烦事!幸运的是,有几个 URL 缩短服务强烈要求作为自定义插件集成到 Grails 中。

要创建一个自定义插件,必须略微更改 Grails 例程。您必须输入 grails create-plugin(见清单 1 ),而不是像往常一样输入 grails create-app。(一定要在一个新的空目录中输入这个命令,而不是 在一个现有 Grails 目录中输入。本文末尾将介绍如何集成这个新插件和一个现有 Grail 应用程序)。

清单 1. 创建一个自定义插件

$ grails create-plugin shortenurl

生成的目录结构与一个典型的 Grails 应用程序一致。但是,根目录中有一个文件将这个项目识别为 一个插件:ShortenurlGrailsPlugin.groovy。清单 2 显示了一段代码:

清单 2. 插件配置文件

class ShortenurlGrailsPlugin {    // the plugin version    def version = "0.1"    // the version or versions of Grails the plugin is designed for    def grailsVersion = "1.1.1 > *"    // the other plugins this plugin depends on    def dependsOn = [:]    // resources that are excluded from plugin packaging    def pluginExcludes = [        "grails-app/views/error.gsp"    ]    // TODO Fill in these fields    def author = "Your name"    def authorEmail = ""    def title = "Plugin summary/headline"    def description = ''''''\\ Brief description of the plugin. ''''''    //snip }

精通Grails: 创建自定义插件(2)

时间:2011-08-02 IBM Scott Davis

这个文件包含插件元数据:版本号、插件附属的 Grails 的版本号、插件附属的其他插件等。(

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号