【发布时间】:2013-11-24 04:32:47
【问题描述】:
我的 Play .scala.html 模板之一中有以下代码:
@formats.map(format => {
<div id="@format">
{format}
</div>
})
formats 是枚举的Seq。创建的 div 具有正确的“格式”内容(每个都包含不同的格式字符串),但是,id 永远不会正确设置。每个 div 的 id 按字面意思设置为“@format”,如下所示:
<div id="@format">
OneOfTheFormats
</div>
<div id="@format">
AnotherFormat
</div>
我尝试编写代码<div id="{format}">、<div id={format}> 和<div id=@format>,但没有成功。这很奇怪,因为我在其他模板中做过类似的事情,但可能因为特殊的 map 案例而无法正常工作......也许是因为 format 是一个创建的参数,而不是传递到模板中?
更新:
按照下面的建议,我尝试了以下方法:
@{
def createDiv(f: String) = {
<div id="@f">
{f}
</div>
}
formats.map(f => {
createDiv(f.toString)
})
}
再一次,格式正确地打印在 inside div 中,但从未设置 ID。我开始认为这是不可能的。我也尝试过<div id="@f">、<div id="{f}"> 和<div id="@{f}">,但没有成功。奇怪的是,为了打印 div 内的格式,我必须使用{f},而不是@f。还在苦苦挣扎……
更新 2:
如果我执行以下操作,它会起作用:<div id={f}> ... 没有引号!该死的。
【问题讨论】:
标签: html scala playframework playframework-2.0