playframework 模块和路由
Posted
技术标签:
【中文标题】playframework 模块和路由【英文标题】:playframework modules and routes 【发布时间】:2013-01-03 19:55:48 【问题描述】:我使用 Play!框架 1.2.5
我有一个模块“商业模式”。在 conf/routes 中:
GET / businessmodel.Admin.index
我有控制器:
package controllers.businessmodel;
import play.mvc.Controller;
public class Admin extends Controller ...
还有一个观点:
/view/businessmodel/Admin/index.html
在依赖此模块的主应用程序中,在 conf/routes 我有:
GET /admin 模块:商业模式
当转到 myhost:9000/admin 我在页面上出现错误:
找不到 获取/管理员
另外,在同一个错误页面上,我列出了已定义的路线:
GET / Application.index
GET /admin/ businessmodel.Admin.index
GET /favicon.ico 404
GET /public/ staticDir:public
* /controller/action controller.action controller.action
--
但是如果将模块的路由更改为这一行(添加'?'):
GET /? businessmodel.Admin.index
那么我们有不同的错误:
@6cpelo7bh 请求 GET /admin 的内部服务器错误 (500)
找不到操作 找不到操作 businessmodel.Admin.index。 引发的错误是 MODULE$
我错过了一些需要定义的东西吗?
【问题讨论】:
【参考方案1】:我找到了解决办法。。这个奇怪的错误仍然出现:
找不到操作 找不到操作 businessmodel.Admin.index。 引发的错误是 MODULE$
问题来了:
https://play.lighthouseapp.com/projects/57987/tickets/414-better-error-message-when-action-method-is-missing-parameter
(我已在此问题中添加了我的最终评论。)
如果忘记了控制器方法中的static。我花了一个小时在这上面..
【讨论】:
以上是关于playframework 模块和路由的主要内容,如果未能解决你的问题,请参考以下文章
Play Framework [2.4.x] 如何在子模块的路由文件中处理公共资产
Play Framework [2.4.x] - 模块路由特定名称因“资产不是包的成员”而失败