1


http://www.playframework.com/documentation/2.1.x/JavaTodoList

使用上面的教程作为参考,我创建了一个应用程序,它通过应用程序控制器从模型发送数据以查看。我设法将模型(任务)显示为一个高图表。代码在这里。

public static Result format(){      
    return ok(views.html.frmt.render("Visualize it",Task.all()));
}

这转到此视图页面。 http://ideone.com/ycz9ko

目前,我在 javascript 代码本身中使用 scala 模板。请参阅第 9-14 行和第 20-24 行。这种不优雅的做事风格并不是真正的最佳选择。

我希望能够使用 Json 来完成上述操作。

public static Result jsonIt(){
    List<Task> tasks = Task.all();
    return ok(Json.toJson(tasks));
}    

我的 Qns 是如何将 JSON 对象发送到视图模板。以及如何将其解析为 Highcharts 格式。是否有一些标准程序可以做到这一点?否则我必须编写自己的方法来做到这一点?
如果有人可以给我看一个代码片段,那就太好了。此外,我更喜欢不使用 Ajax 的帖子。我只想知道如何首先做到这一点。

我还发现这个 stackoverflow 帖子很有用。如何将 json 解析为 highcharts。但是,它没有回答关于从 Play 格式转换为 Highcharts 格式的部分。

提前致谢

4

1 回答 1

0

您不需要将 a 传递json object给您的模板,而是可以从客户端 javascript(您的模板)进行 ajax 调用并获得 json 响应,您可以在 javascript 代码中使用该响应来构建图表。例如:您有一些路径绑定到您的控制器,jsonIt()例如 /chartsdata/json 然后jquery shorthand用于 ajax 请求:

var chart_data = $.get('/chartsdata/json', function(data) {
   return data;
});

现在您可以在进一步的 javascript 代码中使用每个对象代表一个任务chart_dataan array of objects地方来构建图表。

于 2013-09-11T13:19:03.863 回答