Take the 2-minute tour ×

I have updated my controllers with to use play.data.Form.form() method instead of Controller.form(). When I try to run my application I get errors like:

error: method render in class create_user cannot be applied to given types;

return ok(create_user.render("", Form.form(CreateUserInfo.class), creator.get())); 

required: String, play.api.data.Form, User found: String, play.data.Form, User

It looks like the my templates expect to get play.api.data.Form instead of play.data.Form. Is there suppost to be any implicit conversion or should I update my templates to use play.data.Form?

If I'm using play.data.Form in my templates I am missing out on some of the features of play.api.data.Form, like the ability to request parameters through the apply method ( ex: createUserForm("username") )

share|improve this question
I've just checked the API docs for Play 2.1 RC2, and I cannot find a play.data.Form class. I think I remember that some packages were moved to play.api.*, but I cannot remember where and I'm not able to find it now. What happens if you just use the play.api.data.Form everywhere you've used play.data.Form? –  Carsten Jan 21 '13 at 17:37
It seems like the API docs are missing some parts at the moment,play.data.Form is a part of 2.1 (I have checked the source). –  jorgenfb Jan 22 '13 at 8:33

1 Answer 1

up vote 3 down vote accepted

The solution was provided by Guillaume Bort at the playframework google group.

I forgot to add javaCore as a dependency for my application after updating Build.scala. You have to explicitly add javaCore as a dependency in 2.1.

val appDependencies = Seq(

And remember to start using play.Project instead of PlayProject:

      // Add your own project settings here
share|improve this answer

Your Answer


