Play 2.0.1 - Scala模板字符串concatting +可重用代码块

时间:2012-05-10 21:22:35

标签: scala playframework playframework-2.0

虽然只是一个小问题,基于doc,我应该能够创建一个可重用的块。可能是我缺乏Scala经验,在这里榨汁......

我有一个传递给.scala.html文件的字符串列表。字符串是没有“.js”的javascript文件引用。

@jsFileWithExtension(file: String) = @{
  val newFile = file + ".js
}
@for(jsFile <- headJs) {
   <script src="/assets/javascripts/@jsFileWithExtension("@jsFile")"></script>
}

它目前正在加载没有扩展名的jsFile。

3 个答案:

答案 0 :(得分:3)

试试这个:

@jsFileWithExtension(file: String) = @{ file + ".js" }


@for(jsFile <- headJs) {
   <script src="/assets/javascripts/@jsFileWithExtension(jsFile)"></script>
}

您的jsFileWithExtension需要返回一个值。现在它返回Unit。然后,当丹尼尔指出函数的参数不需要引用或魔术@ char。

答案 1 :(得分:3)

为什么不简单地追加一个.js?

@for(jsFile <- headJs) {
   <script src="/assets/javascripts/@(jsFile).js"></script>
}

答案 2 :(得分:0)

这不起作用:

@jsFileWithExtension(jsFile)

在没有引号和@ jsFileWithExtension参数的情况下,鉴于此已经是Scala代码?