我得到了这个用于创建JSON数据的servlet,我想将此数据传递到应该通过InfoVis工具包显示该数据的jsp页面。
servlet.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工具包提供,我不确定是否可以更改。或者至少我没有足够的JS经验来更改它。
graph.jsp
spacetree.js
function init(jsonString){
var json = jsonString;
本来函数调用只是
但是init()函数具有JSON变量硬编码,这当然根本没有用。因此,我正在寻找一种使之动态化的方法。但是,由于字符串内有引号,所以它现在完全弄乱了onload
= init()函数调用。