JSONデータは、サーブレットの属性として設定した文字列の形で表示されます。
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の1つのノードにすべて格納されます。 Webブラウザで生成されたコードを見た後、json変数内のすべてのデータの周りに引用符が追加され、1つのノードにしかならないようです。
どのように私はこれを行う必要があります上の任意の提案?それとも別の方法ですか? ありがとう!
回答:
回答№1は1これが終わったのです。私は "データ"領域で角括弧を削除し、単にjsonの代わりにeval(json)を追加する必要がありました。
$(function () {
$("#jsonPData").hide();
var json = $("#jsonPData").text();
$("#tree").jstree({ "core" : {
"data" : eval(json)
} });
});