Java 控制器中的路由和子包
我正在使用Play 2.1,我遇到了一些奇怪的问题 我在Java 控制器中的路由和子包,java,routes,playframework-2.1,Java,Routes,Playframework 2.1,我正在使用Play 2.1,我遇到了一些奇怪的问题 我在controllers包中有一个子包messages,其中包含一个类i18n.java 我的路由文件如下所示: GET \ controllers.messages.i18n.index() POST \ controllers.messages.i18n.process() 我现在有一个具有以下操作的表单: @helper.form(action = routes.messages.i18n.process()
controllers
包中有一个子包messages
,其中包含一个类i18n.java
我的路由
文件如下所示:
GET \ controllers.messages.i18n.index()
POST \ controllers.messages.i18n.process()
我现在有一个具有以下操作的表单:
@helper.form(action = routes.messages.i18n.process())
但这给了我一个错误:
值消息不是对象控制器的成员。路由
我以前在Play 2.0.4中使用过子包,它工作得很好,有人能在我的配置中发现任何错误吗
路由文件不会抱怨找不到控制器。路由应该是
controllers.messages.routes.i18n.process()
。您可以检查target/scala-2.10/src_managed
目录以发现生成的文件
作为参考,Java编码惯例规定类必须以大写字母开头。仅供参考,在2.2中略有不同 routes.conf看起来像:
GET /admin/stuff controllers.admin.StuffController.show()
controllers.admin.routes.StuffController.show()
在代码中,如下所示:
GET /admin/stuff controllers.admin.StuffController.show()
controllers.admin.routes.StuffController.show()
对于Play 2.4.6 Java用户:
假设您的控制器(应用程序)和操作(注销)是
com.stackoverflow.play.Application.logout()
要在模板(
*.scala.html
)中使用它,您需要@com.stackoverflow.play.routes.Application.logout
(例如,类名是复制/粘贴/编辑失败,但这是可行的!同样感谢src\u管理的
提示