我正在使用java的play 2.0大约一个月,有一件事我真的无法理解。模板如何真正起作用?将params传递给他们的最佳方法是什么?
之间有什么区别
@(name: String, value: String)
和
@(name: String)(value: String)
这只是为了方便吗?
我发现this问题揭开了秘密的面纱,但它并没有说明我应该选择哪种方式。
答案 0 :(得分:4)
典型的例子是:
// main.scala.html
@(title: String)(content: Html)
....
// index.scala.html
@main("Foo Title") {
<div>this content Html param passed in as a block {}</div>
}
with:@(title: String, content: Html)
语法不太好:
@main("Foo Title", {
<div>...</div>
})
答案 1 :(得分:3)
在第一种情况下,您将多个参数传递给函数。在第二种情况下,您使用currying。根据维基百科:
在数学和计算机科学中,currying是一种转换函数的技术,该函数采用多个参数(或参数的n元组),使得它可以被称为一个函数链,每个参数都有一个参数(部分申请)。 http://en.wikipedia.org/wiki/Currying
每个用例最好的不同。
编辑:请注意,模板只是Scala函数。