我有一个JavaScript文件morris.js
,我必须调用一些Java方法来检索map
或list
结果。我无法使用反向转发或控制器方法,因为我必须在控制器中返回Result
类型。
我怎样才能做到这一点?
预期结果的一个例子:
$.ajax(some method)
.done(some treatment)
.fail(console.log('not ok'));
// data stolen from http://howmanyleft.co.uk/vehicle/jaguar_'e'_type
var tax_data = [
{"period": "2013", "licensed": 400, "sorned": 550},
{"period": "2012", "licensed": 450, "sorned": 400},
{"period": "2011", "licensed": 350, "sorned": 550},
{"period": "2010", "licensed": 500, "sorned": 700},
{"period": "2009", "licensed": 250, "sorned": 380},
{"period": "2008", "licensed": 350, "sorned": 240},
{"period": "2007", "licensed": 180, "sorned": 300},
{"period": "2006", "licensed": 300, "sorned": 250},
{"period": "2005", "licensed": 200, "sorned": 150}
];
我在控制器中有一个带参数的方法。如何将其添加到JavaScript路由器中:
public Result getYearUploadedVideos(Long userId){
// ...
}
我的路由器:
public Result jsRoutes() {
return ok(play.routing.JavaScriptReverseRouter.create("jsRoutes",
routes.javascript.Signup.forgotPassword(),
routes.javascript.AdminManagement.contact(),
routes.javascript.ProfilManagement.view(),
routes.javascript.DashboardManagement.getYearUploadedVideos()))
.as("text/javascript");
}
......但它不起作用。有什么帮助吗?
答案 0 :(得分:0)
实际上非常简单:
public Result jsRoutes() {
return ok(
play.routing.JavaScriptReverseRouter.create("jsRoutes",
routes.javascript.Signup.forgotPassword(),
routes.javascript.DashboardManagement.getSmartCasterSharedDonutStatDataJson(),
routes.javascript.DashboardManagement.getSmartCasterActionStatDataJson(),
routes.javascript.DashboardManagement.getUploadedPublishedVideoStatDataJson(),
routes.javascript.DashboardManagement.getVideoSharedDonutStatDataJson(),
routes.javascript.DashboardManagement.getVideoActionStatDataJson()))
.as("text/javascript");
}
然后:
$.ajax(jsRoutes.controllers.DashboardManagement.getVideoSharedDonutStatDataJson(id))
.done(function(donut){
console.log(JSON.stringify(donut));
...});
我们没有在反向JS路由中配置ID