快速业务通道

利用Grails搭建Feedlr.com网站 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
rvice.updateFeeds()   } }

Cron 表达式“0 * * * * ?”表示每分钟执行一次。需要执行的逻辑通过定 义一个execute()方法来指定。其中feedService是已经定义好的用来查询feed更 新的一 个Grails Service类,使用Rome来解析feed。注意此处不需要实例化 feedService变量,只要通过按约定设计的规则定义需要使用的 Service的变量 名,Grails会自动找到FeedService这个Service类,注入到UpdateFeedsJob中, 并把 Service实例付给feedService变量,听起来很神奇吧。这样,Grails就会 每分钟触发一次UpdateFeedsJob,来查询 feed更新了。

利用Grails搭建Feedlr.com网站(2)

时间:2011-06-21 infoq 侯雍容

发布feed更新到微博客

目前流行的微博客API都是已REST风格设计,通过GET和POST方法来得到或者 更新内容的。例如发布一条消息到Twitter,就是通过POST方法发送到Twitter指 定的API地址,简化的代码实例如下:

def conn = new URL (''http://twitter.com/statuses/update.xml'').openConnection() conn.setRequestProperty (''Authorization'', ''Basic '' + ''username:password''.bytes.encodeBase64()) conn.requestMethod = ''POST'' conn.doOutput = true try{   conn.outputStream.withWriter(''UTF8''){            it << "status=" << newMessage    } }catch(Exception e){    ... }

以上Groovy代码很清晰易读。通过Twitter RESTful API发布新消息需要使用 Http Basic验证用户登录信息,所以这里按照Basic验证规范在请求中加入了验 证数据。其中encodeBase64()方法是Grails提供的神奇的 动态方法,对于合适 类型的对象在Grails程序中直接就可以使用这些动态方法,其他的编码方法还包 括encodeAsURL()等。

Ajax

在web 2.0时代没有Ajax的网站是不完整的。幸运的是,在Grails中使用Ajax 非常方便。通过Grails内建的多才多艺的render方法,就可以轻松地给前端Ajax 请求返回任何形式的输出。例如,

直接返回简单的纯文本字串

class FooController{ ...    def ajaxResponse = {      ...     render("This is an Ajax response.")    }

指定返回内容的格式和编码

render(text:"<xml>some xml</xml>",contentType:"text/xml",encoding:"UTF-8")

返回模板内容

render(template:"feeds", model:[feeds:feeds], contentType:"text/html", encoding:"UTF-8")

返回JSON,直接自动转换一个object为JSON

import grails.converters.* ... def jsonObj = [object:[collection:[[name:‘value1′],[name:‘value2 ′]]]] render jsonObj as JSON

返回JSON,通过JSON builder DSL直接构造JSON数据

render(contentType:‘text/json’, , encoding:''UTF-8''){      studio(name:‘Pixar’,website:‘pixar.com’)      films{          film(title:‘Toy Story’,year:‘1995′)          film(title:‘Monsters, Inc.’,year:‘2001′)          film(title:‘Finding Nemo’,year:‘2003′)      } }

利用Grails搭建Feedlr.com网站(3)

时间:2011-06-21 infoq 侯雍容

OpenID支持

Feedlr支持使用OpenID登录。由于Grails社区已经提供了OpenID插件,通过 Grails的插件机制,实现OpenID支持也是一件轻松的事情。

首先,安装OpenID插件,在Grails应用根目录执行命令:

grails install-plugin openid

然后,使用

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