If you are using Play 2, then yes you can work entirely in java:
You can notice in the documentation, that you can generate response using scala this way
public static Result homePage() {
return ok(views.html.index.render());
}
where "index" is some class generated from the internal scala templating engine.
However, you can also write your own response, like this:
public static Result homePage() {
return ok("<html><body>Hello world!</body></html>");
}
As you can see, you are not pushed here to use scala templating system. What the ok() method want, is the string which is then sent to the client (with HTML OK header). How you generate the HTML code is entirely on you. You can use scala template engine, you can generate this string purely by java code or you can write some wrapper and use some totally different library.
So the answer is: yes, you do not have to use scala at all.
See examples of play 2 controllers without scala
But I strongly advice you to use at least some templating system...