快速业务通道

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

在这个 *******.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号