JSONデータを作成するこのサーブレットを取得しました。このデータを、InfoVisツールキットを介してデータを表示することになっているjspページに渡したいです。
サーブレット.java
JSONObject json = new JSONObject();
JSONArray toplevel = new JSONArray();
JSONObject sublevel;
try{
json.put("id", "node" + 0);
json.put("name", "name" + 0);
int count = 5;
for(int i=1; i < count; i++){
sublevel = new JSONObject();
sublevel.put("id", "node" + i);
sublevel.put("name", "name" + i);
toplevel.put(sublevel);
}
json.put("children", toplevel);
} catch (JSONException jse) {
}
request.setAttribute("jsonString", json.toString());
RequestDispatcher dispatcher = request.getRequestDispatcher("graph.jsp");
dispatcher.forward(request, response);
次のコードは InfoVis Toolkit によって提供されていますが、変更できるかどうかはわかりません。または、少なくとも私はそれを変更するのに十分な JS の経験がありません。
グラフ.jsp
<body onload="init('${jsonString}');">
spacetree.js
function init(jsonString){
var json = jsonString;
本来は関数呼び出しのみ
<body onload="init()">
しかし、init() 関数にはハードコードされた JSON 変数があり、もちろんまったく役に立ちません。だから私はそれを動的にする方法を探しています。しかし、文字列内に引用符があるため、onload=init() 関数呼び出しが完全に台無しになります..