精通 Grails: 创建自定义插件
2009-10-26 00:00:00 来源:WEB开发网这个 Web 服务界面只返回指定页面的缩短的 URL,而不是 HTML。
下一步是将您的新发现封装到 Groovy 类中。这个类是一个 Plain Old Groovy Object (POGO),正如它的名称所示,它不是服务、控制器或任何其他具有特殊目的的 Grails 组件。因此,放置它的最好位置是 src/groovy。在 src/groovy 下创建一个 org/grails/shortenurl 目录,然后创建 TinyUrl.groovy 并添加清单 3 中的代码:
清单 3. TinyUrl 实用程序类package org.grails.shortenurl
class TinyUrl{
static String shorten(String longUrl){
def addr = "http://tinyurl.com/api-create.php?url=${longUrl}"
return addr.toURL().text
}
}
插件中的包
将插件的类放在一个包中是一种很好的实践,这极大地减小了与用户的 Grails 项目中的现有类造成冲突的几率。
还可以打包域类、控制器等。对于简单的项目,这种不太常见的实践会增加不必要的复杂性,但经验丰富的 Grails 开发人员非常信任这种实践。
测试 TinyUrl 类
将代码用于生产前,应该进行相应的测试,不是吗?由于您要进行一个实时 Web 调用,因此这应该是一个集成测试。在 test/integration 下创建此前创建过的相同的 org/grails/shortenurl 目录结构。创建 TinyUrlTests.groovy 并添加清单 4 中的代码。(在这个简单的例子中,宣称很小的 URL 竟然比它要编码的原始 URL 还要长。这非常有趣)。
清单 4. 测试 TinyUrl 类package org.grails.shortenurl
class TinyUrlTests extends GroovyTestCase{
def transactional = false
void testShorten(){
def shortUrl = TinyUrl.shorten("http://grails.org")
assertEquals "http://tinyurl.com/3xfpkv", shortUrl
}
}
- ››创建SQL2005自动备份,定期删除的维护计划
- ››创建动态表单 javascript
- ››精通Photoshop之通道详解
- ››创建基于PPTP的站点到站点VPN连接:ISA2006系列之...
- ››创建基于L2TP的站点到站点的VPN连接:ISA2006系列...
- ››创建一个Twisted Reactor TCP服务器
- ››创建Windows Mobile上兼容性好的UI 程序
- ››创建android的Service
- ››创建远古部落环境与原住民角色
- ››创建并扩展Apache Wicket Web应用
- ››创建不在任务条中显示窗口按钮的应用
- ››创建 Android 文件系统(Root file system)
更多精彩
赞助商链接