![](/img/trans.png)
[英]Play 2.5.x java - How to call a controller method from another controller?
[英]How to call Java method from Play Framework 2.5.X
我有一個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"); }
...但是它不起作用。 有什么幫助嗎?
其實很容易:
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.