Play框架模板自动导入models._等

时间:2013-07-01 03:54:23

标签: playframework playframework-2.0 playframework-2.1

似乎在Play框架模板中

有一个隐含的" @import模型._"和" @import play.api.data.Form"因为我的代码:

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

<!DOCTYPE html>

<html>
    ....
</html>

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

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

3 个答案:

答案 0 :(得分:10)

你是对的,Play Framework会自动为所有模板添加一些import语句。

您可以找到这些&#34;默认导入&#34;来自Play源代码的PlaySettings特征:https://github.com/playframework/Play20/blob/2.1.x/framework/src/sbt-plugin/src/main/scala/PlaySettings.scala

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

val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA).settings( 
    templatesImport += "com.acme._"
)

答案 1 :(得分:2)

从播放2.3开始,我在build.sbt

中使用此行
TwirlKeys.templateImports ++= Seq("very.long.package._", "another.package._")

答案 2 :(得分:1)

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

所有提到的都是进口的。

此外,{。{1}}足以在2.2.X中导入包中的所有文件,即文件templatesImport += "com.acme._"