我有鑑於這樣的的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