【问题标题】:Play framework 2.0 template parameters import播放框架2.0模板参数导入
【发布时间】:2012-06-24 02:00:14
【问题描述】:

我有以下问题:

假设我的模板参数如下所示:

@(variable : really.super.extremely.long.package.name.ClassName)

有没有办法只导入那个类,这样我就可以把它简化成这样的:

@(variable : ClassName)

【问题讨论】:

    标签: playframework playframework-2.0


    【解决方案1】:

    我相信它会在您的项目/Build.scala 文件中。

    在你的主要

          templatesImport += "really.super.exteremely.long.package.name._"
    

    【讨论】:

    • 它似乎不起作用。这是我的主要内容: val main = PlayProject(appName, appVersion,appDependencies, mainlang = JAVA).settings( templatesImport += "really.big.package.Class1" templatesImport += "really.big.package.Class2" )跨度>
    • 嗯,奇怪。你的语法是正确的。并且随意使用 ._ 表示法从包中导入所有类。如果您从 .jar 文件访问包,请确保将其包含在构建路径中,在您必须创建的 /lib 文件夹中。除此之外,我不确定是否可以提供任何其他潜在的解决方案。
    • @gooser 添加模板导入后您是否重新加载了项目?因为您需要执行“重新加载”才能获取对 Build.scala 的更改。
    • 只是将行添加到 Build.scala 对我也不起作用。但是,如果您将其作为设置添加到项目 val 中,它会起作用:val main = play.Project(appName, appVersion, appDependencies) .settings(templatesImport += "really.super.exteremely.long.package.name._")
    • 另外,请注意,添加此行后,我认为 Play 不会将模板标记为已修改,因此不会重新构建它们。您要么需要更改每个模板中的某些内容,要么需要从 sbt 更改 clean
    【解决方案2】:

    只是想插话说,@Jeff LaJoie 的上述示例在 Play 2.2.3 下仍然有效

    在你的 build.sbt 中

    templatesImport += "really.super.exteremely.long.package.name._"

    templatesImport ++= Seq( "really.super.exteremely.long.package.name._", "another.really.super.exteremely.long.package.name._" )

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-23
      • 2013-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多