2013-01-21 29 views
1

我更新了我的控制器,使用play.data.Form.form()方法代替Controller.form()。當我嘗試運行我的應用程序時,出現以下錯誤:從playframework 2.0遷移到2.1 RC2後使用Forms(java)

錯誤:類create_user中的方法呈現無法應用於給定的類型;

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

要求:字符串,play.api.data.Form,用戶 發現:字符串,play.data.Form,用戶

它看起來像我的模板希望得到play.api.data .Form而不是play.data.Form。有suppost是任何隱式轉換,或者我應該更新我的模板以使用play.data.Form?

如果我在我的模板中使用play.data.Form,我錯過了play.api.data.Form的一些功能,就像通過apply方法請求參數的能力一樣(例如:createUserForm( 「用戶名」))

+0

我剛剛查了API文檔播放2.1 RC2,我無法找到一個'play.data.Form'類。我想我記得有些軟件包被轉移到了'play.api。*',但我不記得現在在哪裏,我現在無法找到它。如果您只是在使用'play.data.Form'的任何地方使用'play.api.data.Form',會發生什麼? – Carsten

+0

目前似乎API文檔缺少一些部分,play.data.Form是2.1的一部分(我檢查了源代碼)。 – jorgenfb

回答

3

該解決方案由Guillaume Bort在playframework google group提供。

更新Build.scala後,我忘了添加javaCore作爲我的應用程序的依賴項。您必須在2.1中明確添加javaCore作爲依賴項。

val appDependencies = Seq(
     javaCore 
) 

要記住,開始使用的,而不是PlayProject play.Project:

val main = play.Project(appName, appVersion, appDependencies).settings(
     // Add your own project settings here 
)