Play 2 Javascript Router Setup in 4 Steps with Java
Setting up the javascript routing portion of Play is extremely simple, yet there isn't a simple doc to go along with it.
Step 1
Create a method that will be exposed via javascript.
controllers/Application.java
package controllers;
import play.Routes;
import play.mvc.Controller;
import play.mvc.Result;
public class Application extends Controller {
public static Result kickTheDog() {
return Controller.ok();
}
}
Step 2
Create a route to the method that will be exposed via javascript.
conf/routes
GET /kickTheDog @controllers.Application.kickTheDog()
Step 3
Create a javascript routes generator for the new method.
controllers/Application.java
package controllers;
import play.Routes;
import play.mvc.Controller;
import play.mvc.Result;
public class Application extends Controller {
public static Result jsRoutes() {
response().setContentType("text/javascript");
return ok(Routes.javascriptRouter("jsRoutes",
controllers.routes.javascript.Application.kickTheDog()
)
);
}
public static Result kickTheDog() {
return Controller.ok();
}
}
conf/routes
GET /kickTheDog @controllers.Application.kickTheDog()
GET /jsRoutes @controllers.Application.jsRoutes()
Step 4
Use the javascript router by including the dynamic javascript generated stub file in your scala template.
<script type="text/javascript" src="@routes.Application.jsRoutes"></script>
Now the method can be accessed via javascript like:
jsRoutes.controllers.Application.kickTheDog().ajax({
success: function() {
},
error: function() {
}
});
Written by Matt Conroy
Related protips
2 Responses
Here is another great example of using the play 2 javascript router. http://stackoverflow.com/questions/11133059/play-2-x-how-to-make-an-ajax-request-with-a-common-button
over 1 year ago
·
very nice and simple, thank you.
over 1 year ago
·
Have a fresh tip? Share with Coderwall community!
Post
Post a tip
Best
#Scala
Authors
Sponsored by #native_company# — Learn More
#native_title#
#native_desc#