3

似乎在 Play 框架模板中,

有一个隐含的“@import models._”和“@import play.api.data.Form”,因为我的代码:

@(title: String)(myForm: Form[User])

<!DOCTYPE html>

<html>
    ....
</html>

无需在第一行之后放置显式导入语句即可工作。过去曾提出过此问题:https ://groups.google.com/d/msg/play-framework/7FT68jd5asU/xYF0VNySJYcJ

隐式导入了哪些其他类/对象?

4

3 回答 3

10

没错,Play Framework 会自动import为所有模板添加一些语句。

PlaySettings您可以在Play 源代码的 trait 中找到这些“默认导入” : https://github.com/playframework/Play20/blob/2.1.x/framework/src/sbt-plugin/src/main/scala/PlaySettings。斯卡拉

如果需要,您可以在 Build.scala 中定义的项目设置中添加一些额外的导入:

val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA).settings( 
    templatesImport += "com.acme._"
)
于 2013-07-01T09:16:13.340 回答
2

从 Play 2.3 开始,我在build.sbt

TwirlKeys.templateImports ++= Seq("very.long.package._", "another.package._")
于 2014-11-05T08:54:12.803 回答
1

您可以查找文件:https ://github.com/playframework/playframework/blob/master/framework/src/sbt-plugin/src/main/scala/PlayImport.scala#L40

里面提到的都是进口的。

此外,templatesImport += "com.acme._"在 2.2.X 中足以从一个包中导入所有文件,即在文件中build.sbt

于 2014-05-27T12:36:12.113 回答