渲染gsp将自闭合标记转换为空标记

时间:2014-02-20 15:16:20

标签: xml grails gsp

我使用gsp模板渲染XML,一切正常,但自闭标签转换为空标签。例如,如果我的模板具有以下标记:

<Custom:tag />

当我在控制器中渲染时:

String xml = g.render template:template, model: model

xml变量值为

<Custom:tag></Custom:tag>

它仍然是一个有效的xml,但是当我尝试发送到无法控制的服务器时,由于Custom:tag,我收到了验证错误。

如何防止Grails解析此标记?

1 个答案:

答案 0 :(得分:1)

这里有一个简单的例子,说明如何轻松渲染xml

    def renderXml() {

        render(contentType: 'text/xml') {
            startTag(version: '1.2', state:'FeelGood') {
                childTag(value:"this is a value")
                nestingFun(howmuchisthefish:"42"){
                    childTag(value:"this is a value")
                    childTag(value:"this is a value")
                }

            }
        }

    }

这会产生类似

的东西
<?xml version="1.0" encoding="UTF-8"?>

 <startTag version="1.2" state="feelGood">
      <childTag>"this is a value"</childTag>
      <nestingFun howmuchisthefish="42" >
          <childTag>"this is a value"</childTag>
          <childTag>"this is a value"</childTag>
      </nestingFun>
 </startTag>