Scala 将参数从一个模板传递到另一个模板
我正在尝试使用提供的模板系统编写一个带有Play的web应用程序。我试图将模板分为标题区和内容区。以下是我为模板编写的代码: 内容:Scala 将参数从一个模板传递到另一个模板,scala,playframework-2.0,Scala,Playframework 2.0,我正在尝试使用提供的模板系统编写一个带有Play的web应用程序。我试图将模板分为标题区和内容区。以下是我为模板编写的代码: 内容: @(file: models.File) @header(@file.title) <h2>@file.title</h2> <img src="@file.fileLocation"> 看起来我试图将title参数错误地传递到header模板中。我应该使用什么语法来传递title参数?播放模板解析器将@识别为Scala表达式
@(file: models.File)
@header(@file.title)
<h2>@file.title</h2>
<img src="@file.fileLocation">
看起来我试图将title参数错误地传递到header模板中。我应该使用什么语法来传递title参数?播放模板解析器将
@
识别为Scala表达式的开头,但它使用魔术来找出表达式的结尾。(我想,类似于寻找收尾括号或大括号)
因此,在您的代码中,
@header(@file.title)
都是Scala代码,而不是HTML模板,第二个@
是不必要的。您只需要@header(file.title)
播放模板解析器将@
识别为Scala表达式的开头,但它使用魔术来找出表达式的结尾。(我想,类似于寻找收尾括号或大括号)
因此,在您的代码中,
@header(@file.title)
都是Scala代码,而不是HTML模板,第二个@
是不必要的。您只需要@header(file.title)
谢谢您的澄清。我知道第二个@导致了问题,但不知道如何解决问题。感谢您的澄清。我知道第二个@导致了问题,但不知道如何解决问题。
@(title: String)
<!DOCTYPE html>
<html>
<head>
<title>@title</title>
</head>
<body>
2: illegal start of simple expression
[error] @header(@file.title)
[error] ^