我们正在尝试遵循http://www.playframework.com/documentation/2.1.1/JavaCache中列出的“模板缓存”示例,编译器会向我们抛出“not enough arguments for method getOrElse
”异常消息。
我们在模板中的代码:
@play.cache.Cache.getOrElse("cached-content", 3600){
test
}
所以我们决定挖掘API,显然我们还缺少java.util.concurrent.Callable
参数。有谁知道我们应该为该参数传递什么?
由于
答案 0 :(得分:3)
它是因为您尝试使用Scala模板中的Java API和Scala缓存API的语法。如果您想使用文档中的示例,您需要编写如下内容:
@import play.api.Play.current
@play.api.cache.Cache.getOrElse("key", 3600) {
<h1>Cached content</h1>
}
play.api包是Scala API的包。
如果要从模板中使用Java Cache API,此API需要3个参数,您需要编写如下内容:
@play.cache.Cache.getOrElse("key", new java.util.concurrent.Callable[String] {
def call: String = "Cached content again"
}, 3600)