我正在尝试直接从 Controller 发送到 HTML 页面的 pojo 获取字符串值,将其解析为数组并用它构建可编辑的网格,但没有成功。
具体实现是:
$(document).ready(function() {
var emails = eval(${pojo.resultEmailRecipients});
var list = emails.split(",");
var metadata = [];
metadata.push({ name: "email", label: "EMAIL", datatype: "email", editable: true});
var data = [];
var id = 1;
for (email in list) {
data.push({id: id, values: {"email": email}});
id++;
}
editableGrid = new EditableGrid("DemoGridJsData");
editableGrid.load({"metadata": metadata, "data": data});
editableGrid.renderGrid("table1", "testgrid");
});
理想情况下,他将呈现在:
<div id="table1"></div>
但是 Firebug 报告获取对象时出错。
SyntaxError: missing ) after argument list
var emails = eval(${pojo.resultEmailRecipients});
这是怎么回事?
最佳答案
问题是这个变量 ${pojo.resultEmailRecipients} 带有 eval 函数,eval 需要一个表达式而不是 pojo。 尝试将您的代码更改为 var emails = pojo.resultEmailRecipients;
关于JavaScript + Spring MVC - 如何从 Controller 发送的对象获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38796092/