我刚刚收录了Flot插件,并尝试运行documentation中提到的示例。 根据文档,索引页面如下所示
class FlotController {
def index = {
[data: [[0, 10], [4, 5], null, [6, 2.5], [12, 10]]]
}
}
在GSP中渲染时,
var d4 = \u005b\u005b0\u002c 10\u005d\u002c \u005b4\u002c 5\u005d\u002c null\u002c \u005b6\u002c 2.5\u005d\u002c \u005b12\u002c 10\u005d\u005d;
在Controller中定义数据的正确方法是什么?谢谢 javascript如下所示
<g:javascript>
var d1 = [];
for (var i = 0; i < 14; i += 0.5)
d1.push([i, Math.sin(i)]);
var d2 = [[0, 3], [4, 8], [8, 5], [9, 13]];
var d3 = [[0, 12], [7, 12], null, [7, 2.5], [12, 2.5]];
var d4 = ${raw(data)}; //line causing the problem
var data = [d1, d2, d3, { label: "server data", data: d4}];
var options = { lines: { show: true }, points: { show: true } };
var d5 = [];
var series = Math.floor(Math.random()*10)+1;
for( var i = 0; i < series; i++) {
d5[i] = { label: "Series"+(i+1), data: Math.floor(Math.random()*100)+1 }
}
var pieOptions = { series: { pie: { show: true } }, legend: { show: false } };
</g:javascript>
答案 0 :(得分:0)
编辑(答案很好):
对于拥有资源插件的人,您需要替换:
<g:javascript></g:javascript>
通过
<r:script>...</r:script>
它有效(有或没有函数raw()
上一个回答:
在您的GSP中,您可以使用raw()函数。
此处提供更多信息:documentation
但请注意:
“那么当您想要阻止Grails逃避某些内容时会发生什么?有一些有效的用例可以将HTML放入数据库并按原样呈现,只要该内容可信在这种情况下,你可以告诉Grails内容是安全的,应该是原始的,即没有任何转义:“