我试图制作一个基于路由行为不同的标签,但是当我尝试在@{ ... }块内呈现html时,我似乎无法正确插入我的变量。在scala模板中解码html
@(route: String, on_image: String, off_image: String, alt_text: String)
@{
val Pattern = ("(" + route + ".*)").r
val path = request().path()
path match {
case Pattern(foo) => {
if(path != route && route == "/") {
alert("{route}");
} else {
alert("{route}");
}
}
case _ => {
alert("{route}");
}
}
}
当网页加载完毕后,我得到一个语法错误在我的Firebug的控制台,在它的发现,评估这个脚本标签的内容:
alert("/accounts");
现在的我,已经尝试了包括整个街区周围的@Html{ ... }和@Html(...)和@Html({ ... })之类的内容。我也试过alert(@Html("{bar}"));和其他类似的东西,但一切都会产生各种错误。
什么是正确的方法来做到这一点?
编辑
更新,以显示尝试使用只有一个简单起见变量,并表示在该变量从何而来。
2012-05-18
Samo
+0
酒吧从哪里来?假设它也在代码中的某个地方,你是否在引用中尝试了@ foo和@ bar而不是{foo}? –
+0
这实际上是一个倒退。然后我得到'" @foo "' –
+0
在任何情况下,问题都与引号有关,而不是与内部内容有关。你可以从输出中看到,我在我的问题中发布了{foo}(或者实际上,{route})返回值。我需要将这个值转换成一个javascript字符串。 –