Templates 在scala模板中解码html
我试图创建一个基于路由的行为不同的标记,但是当我试图在Templates 在scala模板中解码html,templates,scala,playframework,html-escape-characters,Templates,Scala,Playframework,Html Escape Characters,我试图创建一个基于路由的行为不同的标记,但是当我试图在@{…}块中呈现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) =&
@{…}
块中呈现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 == "/") {
<script type="text/javascript">
alert("{route}");
</script>
} else {
<script type="text/javascript">
alert("{route}");
</script>
}
}
case _ => {
<script type="text/javascript">
alert("{route}");
</script>
}
}
}
@(路由:字符串、打开图像:字符串、关闭图像:字符串、替换文本:字符串)
@{
val模式=(“(“+route+”*)”).r
val path=request().path()
路径匹配{
案例模式(foo)=>{
如果(路径!=路线和路线=“/”){
警报(“{route}”);
}否则{
警报(“{route}”);
}
}
案例=>{
警报(“{route}”);
}
}
}
当我加载页面时,我在Firebug控制台中得到一个语法错误,其中显示脚本标记的内容计算如下:
警报(“/accounts”)代码>
现在,我已经尝试了像@Html{…}
和@Html(…)
和@Html({…})
这样围绕整个块的方法。我还尝试了alert(@Html({bar}”)
和其他类似的东西,但每样东西都会产生各种错误
正确的方法是什么
编辑
更新显示为简单起见,尝试只使用一个变量,并显示该变量的来源。通过一点间接解决
@(route: String, on_image: String, off_image: String, alt_text: String)
@on = {
<a href="@route"><img src="@routes.Assets.at(on_image)" alt="@alt_text" /></a>
}
@off = {
<a href="@route"><img src="@routes.Assets.at(off_image)" alt="@alt_text" /></a>
}
@{
val Pattern = ("(" + route + ".*)").r
val path = request().path()
path match {
case Pattern(foo) => {
if(path != route && route == "/") {
{off}
} else {
{on}
}
}
case _ => {
{off}
}
}
}
@(路由:字符串、打开图像:字符串、关闭图像:字符串、替换文本:字符串)
@on={
}
@关={
}
@{
val模式=(“(“+route+”*)”).r
val path=request().path()
路径匹配{
案例模式(foo)=>{
如果(路径!=路线和路线=“/”){
{off}
}否则{
{on}
}
}
案例=>{
{off}
}
}
}
酒吧从哪里来?假设它也在代码中的某个地方,您是否尝试过在引号中使用@foo和@bar而不是{foo}?这实际上是一种倒退。然后我得到了“@foo”
,无论如何,问题在于引号,而不是引号中的内容。您可以从我在问题中发布的输出中看到,{foo}(或者实际上,{route})返回值。我需要将该值转换为javascript字符串。