WEB开发网
开发学院软件开发Java 精通 Grails: RESTful Grails 阅读

精通 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 输出
精通 Grails: RESTful Grails

图片看不清楚?请点击这里查看原图(大图)。

注意源代码和 XML 输出之间的对应的紧密程度。您可以随意定义元素名称(airports、airport、city),无需顾及它们是否与类的真实字段名称对应。如果您想提供一个以连字符链接的元素名称的话(诸如 official-name),又或者想要添加名称空间支持的话,只要给元素名称加上引号就可以了。而属性(诸如 id 和 iata)是用 Groovy 散列映射键:值 语法定义的。要填充元素的正文,需要提供一个不带键:的值。

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:精通 Grails RESTful

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接