Bob*_*Bob 9 scala playframework playframework-2.0
我有一个Play 2.0应用程序
TestController.scala
def foo(p1: String) = Action {implicit request =>
Ok(bar(p1))
}
private def bar(p1: String) = {
//access request parameter here
}
Run Code Online (Sandbox Code Playgroud)
有没有办法implicit用来传递request给bar
Ada*_*ung 17
是的你可以:
def foo(p1: String) = Action { implicit request =>
Ok(bar(p1))
}
private def bar(p1: String)(implicit req: RequestHeader) = "content"
Run Code Online (Sandbox Code Playgroud)
代码:
Action { implicit request
Run Code Online (Sandbox Code Playgroud)
在Action对象上调用此方法:
def apply(block: Request[AnyContent] => Result): Action[AnyContent] = {
Run Code Online (Sandbox Code Playgroud)
所以,你所谓的"请求"匹配名为"block"的参数.这里的"隐式"是可选的:它使"请求"值可用作其他方法/函数调用的隐式参数.
"bar"函数中隐含的内容表示它可以从隐式值中获取"req"的值,并且不一定需要显式传递.
| 归档时间: |
|
| 查看次数: |
7824 次 |
| 最近记录: |