簡體   English   中英

如何使用通過Spring MVC傳遞的D3和Dimple Java JSONArray? 我收到404錯誤

[英]How do I use a Java JSONArray with D3 and Dimple, passed using Spring MVC? I'm getting a 404 error

使用Spring MVC,我在控制器中有一個JSONArray,我可以使用view.addObject將其傳遞到視圖,如下所示:

@RequestMapping("/graphWeek")
public ModelAndView getGraphWeek(){
    JSONArray tweetsForWeek = getGraphWeekData();
    ModelAndView mv = new ModelAndView("graphWeek");
    mv.addObject("tweetsForWeek", tweetsForWeek);
    return mv;
}

在我的jsp視圖中,我有這個:

var svg = dimple.newSvg("#bar", 800, 500);
var src= ${tweetsForWeek};
console.log(src);

d3.json(src, function (error, data) {
  var barChart = new dimple.chart(svg, data);
  barChart.addCategoryAxis("x", ["Day", "Topic"]);
  barChart.addMeasureAxis("y", "Tweets");
  barChart.addSeries("Topic", dimple.plot.bar);
  barChart.addLegend(100, 10, 510, 20, "right");
  barChart.width = 600;
  barChart.height = 400;
  barChart.draw();
});

我添加了一個console.log(src)調用,以確保該視圖正被數組接收。 但是我的圖形沒有顯示,這給了我一個錯誤。 這是加載視圖的結果,顯示了控制台日志和firebug中的錯誤:

在此處輸入圖片說明

因此,您可以在控制台中看到視圖正在接收該數組,但是d3沒有正確處理該數組,有人知道是什么原因導致此錯誤嗎? 任何幫助將不勝感激,謝謝。

您在這里不需要d3.json 您已經有數據了。

var svg = dimple.newSvg("#bar", 800, 500);
var src= ${tweetsForWeek};
console.log(src);

var barChart = new dimple.chart(svg, src); //<-- you have your data already
barChart.addCategoryAxis("x", ["Day", "Topic"]);
barChart.addMeasureAxis("y", "Tweets");
barChart.addSeries("Topic", dimple.plot.bar);
barChart.addLegend(100, 10, 510, 20, "right");
barChart.width = 600;
barChart.height = 400;
barChart.draw();

當然,這里的替代方法是忘記使用JSP模板來加載數組並通過JSON完成操作:

d3.json("/graphWeek", function (error, data) {
    var svg = dimple.newSvg("#bar", 800, 500);
    var barChart = new dimple.chart(svg, data);
    barChart.addCategoryAxis("x", ["Day", "Topic"]);
    barChart.addMeasureAxis("y", "Tweets");
    barChart.addSeries("Topic", dimple.plot.bar);
    barChart.addLegend(100, 10, 510, 20, "right");
    barChart.width = 600;
    barChart.height = 400;
    barChart.draw();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM