我有鉴于这样的的Grails GSP视图不会输出变量
<?xml version="1.0" encoding="UTF-8"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:${servicename}Response xmlns:ns2="http://ws/">
<g:each in="${result}" var="record">
<return>
<g:each in="${parameters}" var="parameter">
<${parameter.name}>${record[parameter.name]}</${parameter.name}>
</g:each>
</return>
</g:each>
</ns2:${servicename}Response>
</S:Body>
</S:Envelope>
而且它呈现这样的:
<?xml version="1.0" encoding="UTF-8"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:${servicename}Response xmlns:ns2="http://ws/">
<return>
<column1>updated</column1>
<column2>update</column2>
<id>1</id>
</return>
</ns2:${servicename}Response>
</S:Body>
</S:Envelope>
,你可以看到,服务名称变量不是元素名称替换内与命名空间。我试图用几种方法来破解它,比如传递整个ns:servicename作为变量,但没有任何帮助,总会有一些不良的副作用。我怎样才能做到这一点?我只是想更换变量,无需额外的验证/处理...
请在您的控制器中显示如何调用'render'。它可能是一个错字(例如'serviceName')? – ccheneson 2012-02-16 10:46:50
[result:rs,servicename:service.name,parameters:service.getOutputParameters()]不能作为拼写错误 - 它可以工作,如果我把它放在标签 – 2012-02-16 11:07:08
之外,如果它是一个错字,那么$ {servicename}在这个地方语法)只会呈现为
2012-02-16 11:12:31