我可以像這樣給一個grails對象分配一個javascript變量嗎?我可以爲一個grails對象定義一個javascript變量嗎?
var newReport = ${report};
report
是一個Grails域對象,它被傳遞迴從控制器到GSP文件。
目前這在我的頁面中不起作用。
我可以像這樣給一個grails對象分配一個javascript變量嗎?我可以爲一個grails對象定義一個javascript變量嗎?
var newReport = ${report};
report
是一個Grails域對象,它被傳遞迴從控制器到GSP文件。
目前這在我的頁面中不起作用。
假設報告是Grails域類,您必須將其「翻譯」爲有效的JavaScript格式。一種方法是將其設置爲JSON。喜歡的東西:
在控制器
def reportJson = report as JSON
在GSP
<script type='text/javascript'>
var newReport = $.parseJSON("${reportJson}");
</script>
的parseJSON採用JSON字符串,並返回一個JavaScript對象。
只需將域對象呈現爲json到gsp,其中一些javascript代碼通過eval()函數得到json。例如:
域類 - 樂隊:
String bandName //some property
...
控制器:
def bands = Band.list()
render(template:"result", model:[bands:bands as JSON]
_result.gsp:
<script>
var bandList = eval(${bands});
for(i=0; i<bandList.length; i++){
var name = bandList[i].bandName;
....
}
....
</script>
也可以做'$ .parseJSON(「$ {報告作爲JSON}「);'如果你不想更新控制器。 –