精通 Grails: RESTful Grails
2009-10-26 00:00:00 来源:WEB开发网核心提示: 图片看不清楚?请点击这里查看原图(大图),虽然默认的 XML 输出很好调试,精通 Grails: RESTful Grails(7),但您还是想稍微自定义一下格式,还好,而属性(诸如 id 和 iata)是用 Groovy 散列映射键:值 语法定义的,要填充元素的正文,render() 方法给您
图片看不清楚?请点击这里查看原图(大图)。
虽然默认的 XML 输出很好调试,但您还是想稍微自定义一下格式。还好,render() 方法给您提供了一个 Groovy MarkupBuilder,它允许您动态定义自定义 XML。清单 2 创建了一些自定义 XML 输出:
清单 2. 自定义 XML 输出def customXmlList = {
def list = Airport.list()
render(contentType:"text/xml"){
airports{
for(a in list){
airport(id:a.id, iata:a.iata){
"official-name"(a.name)
city(a.city)
state(a.state)
country(a.country)
location(latitude:a.lat, longitude:a.lng)
}
}
}
}
}
图 2 展示了输出结果:
图 2. 使用 Groovy MarkupBuilder 的自定义 XML 输出
图片看不清楚?请点击这里查看原图(大图)。
注意源代码和 XML 输出之间的对应的紧密程度。您可以随意定义元素名称(airports、airport、city),无需顾及它们是否与类的真实字段名称对应。如果您想提供一个以连字符链接的元素名称的话(诸如 official-name),又或者想要添加名称空间支持的话,只要给元素名称加上引号就可以了。而属性(诸如 id 和 iata)是用 Groovy 散列映射键:值 语法定义的。要填充元素的正文,需要提供一个不带键:的值。
- ››精通Photoshop之通道详解
- ››精通 Grails: 使用 Grails 进行单元测试(单元测试...
- ››精通 Grails: 创建自定义插件
- ››精通 Grails: 在企业中使用 Grails
- ››精通 Grails: Grails 与移动 Web
- ››精通 Grails: Grails 与遗留数据库
- ››精通 Grails: RESTful Grails
- ››精通 Grails: 用 JSON 和 Ajax 实现异步 Grails
- ››精通 Grails: 用定制 URI 和 codec 优化 Grails 中...
- ››精通 Grails: 身份验证和授权
- ››精通 Grails: 文件上传和 Atom 联合
- ››精通 Grails: 了解插件
更多精彩
赞助商链接