在游戏框架方面,我只是有点困惑。我已经弄清楚了所有的一切,但似乎每天都会出现新的东西。
无论如何,今天的事情是这样的:我的scala模板代码在我的渲染文档中显示为纯文本。也许它的语法错误,也许它的播放1.0语法,我不知道。模板看起来像这样:
@(model : models.Menu)
@main("Bearings") {
<div id="bearings_container">
<div id="menu">
<ul id="firstLevel">
#{list items:model.items,as:'menuItem'}
<li id="${menuItem.name}" class="firstLevel">${menuItem.name}</li>
<ul id="${menuItem.name}- submenu">
#{list items: menuItem.subMenu, as:'subMenuItem'}
<li id="${subMenuItem.name}" class="secondLevel">${subMenuItem.name}</li>
<ul id="${subMenuItem.name}- submenu">
#{list items: subMenuItem.subMenu, as:'subSubMenuItem'}
<li id="${subSubMenuItem.name}" class="thirdlevel">${subSubMenuItem.name}</li>
#{/li}
</ul>
#{/li}
</ul>
#{/li}
</ul>
</div>
</div>
}
我确信这很简单。有什么想法吗?
编辑:这是控制器动作:
public static Result bearings()
{
Menu menu = BuildMenu();
return ok(views.html.bearings.render(menu));
}
结果就是上面代码的直接HTML结果。
答案 0 :(得分:5)
那是Play 1.0 template syntax。 Play 2 is completely different中的模板语法。
公平地说,播放文档确实使这种混淆变得容易。我发现自己正在阅读一个Play 1.0文档页面,我在谷歌搜索中找到了一段时间,然后才意识到网址是1.0。
答案 1 :(得分:2)
如果输出看起来像直接HTML,我会尝试检查@main
引用的模板。请提供main
模板来源。