精通Grails: 文件上传和Atom联合 - 编程入门网
m 的 Wikipedia 页面最后的例子。您甚至可以阅读 RFC 4287, 这是用于 Atom 格式的 IETF 规范。或者,您可以继续阅读本文,看看一个特定于 Grails 的解决方案。
首先,在 EntryController.groovy 中添加一个 atom 闭包,如清单 16 所示: 清单 16. 在 EntryController.groovy 中添加一个 atom 闭包
精通Grails: 文件上传和Atom联合(10)时间:2011-08-02 IBM Scott Davis这个闭包与标准的 list 闭包之间惟一的不同是增加了 lastUpdated 字段。由于该列表已经按 lastUpdated 排序(这要归因于 Entry domain 类的 static mapping 块中的 sort "lastUpdated":"desc" 设置),只需从该列表的第一个 Entry 中获取该字段,就可以得到最近的日期。 接下来,创建 grails-app/views/entry/atom.gsp。添加清单 17 中的代码: 清单 17. atom.gsp
可以看到,以上代码做的第一件事是将 MIME 类型设置为 application/atom+xml。然后,提供关于该 feed 的一些基本的元数据:updated、author 和 generator 等。 如果想避免在整个 feed 中硬编码 blogito.org,那么可以让 atom 闭包获取 request.serverName, 将它赋给一个变量,并在响应 hashmap 中返回它,同时返回的还有 entryInstanceList 和 lastUpdated 。为了完全动态化,可以使用 request.scheme 返回 http,并使用 request.serverPort 返回 80。(唯 一要避免使用 request.serverName 变量的地方是在 id 中,稍后我将讨论到这一点)。 对于 Atom feed 来说,以多种不同的格式提供链接并不少见。从 type 属性可以看出,该 feed 提供 两个链接:一个是 HTML 链接,另一个是 Atom 格式的指向它本身的链接。self 链接特别有用;如果有 一个不是自己下载的 Atom 文档,那么通过该链接就可以回溯到规范来源。 id 字段是 Atom feed 的惟一标识符,它不同于 URI 或可下载该 Atom feed 的当前位置。(您刚才 已经知道,<link> 元素提供 feed 的当前来源)。在这个例子中,我使用 Mark Pilgrim 提供的 技术生成一个惟一的、永久的 ID 字符串:将域名、feed 初次进入服务的日期和 URI 剩下的部分组合到 一起。 id |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |