Jstree JSON 作为变量 Java
Jstree JSON as Variable Java
我有 JSON 字符串形式的数据,我将其设置为我的 servlet 中的一个属性。
request.setAttribute("json", json);
我需要将它从 jstl 标签放入一个 jstree 中。我知道我不能将 jstl 直接放入 javascript 所以我做了以下操作:
<p id = "jsonPData">${json}</p>
在我的 javascript 中,我有以下内容:
$(function () {
$("#jsonPData").hide();
var json = $("#jsonPData").text();
$('#tree').jstree({ 'core' : {
'data' : [
json
]
} });
});
当我不隐藏 p 元素时,数据很好,如果我将它复制并粘贴到 jstree 上的数据部分,它也可以正常工作。但是,当我将变量放入 jstree 数据时,它会将其全部放入 jstree 上的一个节点中。查看网络浏览器生成的代码后,它似乎在 json 变量中的所有数据周围添加引号,这将导致它只有一个节点。
关于我应该如何做有什么建议吗?还是另一种方式?
谢谢!
这就是最终的效果。我不得不删除 'data' 区域中的括号,并添加 eval(json) 而不是 json.
$(function () {
$('#jsonPData').hide();
var json = $("#jsonPData").text();
$('#tree').jstree({ 'core' : {
'data' : eval(json)
} });
});
我有 JSON 字符串形式的数据,我将其设置为我的 servlet 中的一个属性。
request.setAttribute("json", json);
我需要将它从 jstl 标签放入一个 jstree 中。我知道我不能将 jstl 直接放入 javascript 所以我做了以下操作:
<p id = "jsonPData">${json}</p>
在我的 javascript 中,我有以下内容:
$(function () {
$("#jsonPData").hide();
var json = $("#jsonPData").text();
$('#tree').jstree({ 'core' : {
'data' : [
json
]
} });
});
当我不隐藏 p 元素时,数据很好,如果我将它复制并粘贴到 jstree 上的数据部分,它也可以正常工作。但是,当我将变量放入 jstree 数据时,它会将其全部放入 jstree 上的一个节点中。查看网络浏览器生成的代码后,它似乎在 json 变量中的所有数据周围添加引号,这将导致它只有一个节点。
关于我应该如何做有什么建议吗?还是另一种方式? 谢谢!
这就是最终的效果。我不得不删除 'data' 区域中的括号,并添加 eval(json) 而不是 json.
$(function () {
$('#jsonPData').hide();
var json = $("#jsonPData").text();
$('#tree').jstree({ 'core' : {
'data' : eval(json)
} });
});