Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 如何在Play Framework中将隐式值从一个模板布局传递到另一个模板布局';旋转?_Scala_Playframework_Twirl - Fatal编程技术网

Scala 如何在Play Framework中将隐式值从一个模板布局传递到另一个模板布局';旋转?

Scala 如何在Play Framework中将隐式值从一个模板布局传递到另一个模板布局';旋转?,scala,playframework,twirl,Scala,Playframework,Twirl,假设我有这个控制器的动作: def getPost = Action { implicit request => Ok(views.html.post("bla bla bla")) } 现在我有两种布局: // baseLayout.scala.html: @(title: String)(content: Html)(implicit req: RequestHeader) <html> ... @content ... </html> 这就像隐

假设我有这个控制器的动作:

def getPost = Action { implicit request => Ok(views.html.post("bla bla bla")) }
现在我有两种布局:

// baseLayout.scala.html:
@(title: String)(content: Html)(implicit req: RequestHeader)
<html>
  ...
  @content
  ...
</html>
这就像隐式
RequestHeader
成功传输一样: 从
操作
发布
模板, 然后从
post
模板到
postLayout
模板

但是它不会从
postLayout
模板传输到
baseLayout
模板


我怀疑这是因为在
postLayout
模板中,隐式在
Html
块之后,它可能会放弃任何隐式传播。除此之外,我看不到任何解释,我完全不知所措。

如果显式使用req,比如:
@baseLayout(title){…}(req)
?!您可能希望在
target/Scala-2.1*/…
中的某个位置查看生成的Scala文件。我有一个错误:
req未定义
。非常奇怪,我可以在postLayout中使用隐式的req,但是如果我尝试将它传递给baseLayout,我有一个
req没有定义。我甚至试图这样定义baseLayout:
@(title:String,req:RequestHeader)(content:Html)
,所以我可以这样调用它:
baseLayout(title,req){…}
,仍然没有定义req。我将检查生成的Scala文件…顺便问一下,您使用的是哪个播放版本?只是因为,您的示例代码在2.7.3中运行良好。如果显式使用req,例如:
@baseLayout(title){…}(req)
?!您可能希望在
target/Scala-2.1*/…
中的某个位置查看生成的Scala文件。我有一个错误:
req未定义
。非常奇怪,我可以在postLayout中使用隐式的req,但是如果我尝试将它传递给baseLayout,我有一个
req没有定义。我甚至试图这样定义baseLayout:
@(title:String,req:RequestHeader)(content:Html)
,所以我可以这样调用它:
baseLayout(title,req){…}
,仍然没有定义req。我将检查生成的Scala文件…顺便问一下,您使用的是哪个播放版本?只是因为,您的示例代码在2.7.3中运行良好。
// postLayout.scala.html:
@(title: String)(content: Html)(implicit req: RequestHeader)
@baseLayout(title) { // Error: Cannot find any HTTP Request Header here
  <h1>Post</h1>
  @content
}
// post.scala.html
@(post: String)(implicit req: RequestHeader)
@postLayout("First post") {
  <div>@post</div>
}
Cannot find any HTTP Request Header here (See up)