Jstree JSON作为Variable Java

时间:2015-03-11 07:03:58

标签: java jquery json jstree

我以字符串的形式提供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上的一个节点中。在查看由Web浏览器生成的代码之后,似乎它在json变量中的所有数据周围添加了引号,这将导致它只是一个节点。

有关我应该如何做的任何建议?或者另一种方式? 谢谢!

1 个答案:

答案 0 :(得分:1)

这就是最终的工作。我不得不删除“数据”中的括号。区域,并添加eval(json)而不仅仅是json。

$(function () {
    $('#jsonPData').hide();
    var json = $("#jsonPData").text();
      $('#tree').jstree({ 'core' : {
            'data' : eval(json)             
        } });     

  });