3

假设我有一个名为 Store 的类,它有很多员工。我的 RESTful listXML 方法如下所示:

def listXML = {
    render Store.list() as XML
}

结果如下所示:

<stores>
  <store id="1">
   <name>My Store</name>
   <employees>
     <employee id="1" />
   </employees>
  </store>
</store>

我的问题是,如何包含每个 Employee 类的所有数据,以便我的 XML 看起来像这样?

   <stores>
      <store id="1">
       <name>My Store</name>
       <employees>
         <employee id="1">
           <name>John Smith</name>
           <hireDate>2008-01-01</hireDate>
         </employee>
       </employees>
      </store>
    </store>
4

2 回答 2

5

在您的控制器中,您需要导入深度转换器:

import grails.converters.deep.XML

您可以在Converters Reference的前几段中了解它。

于 2009-01-19T05:45:02.480 回答
4

从 Grails 1.1 开始,您可以通过在 grails-app/conf/Config.groovy 中包含它来将 Grails 配置为默认深度序列化:

grails.converters.xml.default.deep = true

1.1 还为转换器引入了命名配置。深度转换器将被弃用,而应使用命名配置“深度”。

XML.use("deep") {
   render model as XML
}
于 2009-01-19T10:32:50.763 回答