我可以像这样给一个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}“);'如果你不想更新控制器。 –