播放框架:如何更改播放默认包?

2022-09-01 07:45:01

我只是想知道是否可以从Play更改默认软件包。例如:我想将“controllers”包更改为“com.test.controllers”。我不知道这是否有任何意义,但我只想知道这是否可能。我没有在Play网站中找到与此相关的任何内容。


答案 1

根据当前的 Play 2.0 文档,现在这是可能的:

请注意,在 Play 2.0 中,控制器、模型和视图包名称约定现在就是这样,可以根据需要进行更改(例如在所有内容前面加上 com.yourcompany 前缀)。

这适用于空的Play应用程序,但是对于其他任何内容,有一些细节需要注意:

  1. 将自定义命名空间导入视图模板将适用于除模板第一行中声明的类型以外的任何类型,这些类型是从视图生成的 scala 呈现函数的参数。我们的解决方法是将完整的包名称添加到视图模板的第一行的类型声明中。
  2. 对于路由文件中定义的每个命名空间(例如,自定义包和资产路由的默认包),Play 2.0 会在同一命名空间中生成相应的路由源文件,因此在进行重定向时,您需要注意解决正确的文件。

答案 2

手册中:

控制器类必须在控制器包中定义并且必须是 play.mvc.Controller 的子类。

如果控制器类名未直接在控制器包下定义 Java 包,则可以在该包之前添加 Java 包。控制器包本身是隐式的,因此无需指定它。

这意味着您无法将包更改为 (因为根包必须是 ),但可以更改为 。controllerscom.test.controllerscontrollerscontrollers.com.test


推荐