渲染Play框架2视图

时间:2012-10-23 16:09:27

标签: java scala playframework playframework-2.0

在游戏框架方面,我只是有点困惑。我已经弄清楚了所有的一切,但似乎每天都会出现新的东西。

无论如何,今天的事情是这样的:我的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结果。

2 个答案:

答案 0 :(得分:5)

那是Play 1.0 template syntaxPlay 2 is completely different中的模板语法。

公平地说,播放文档确实使这种混淆变得容易。我发现自己正在阅读一个Play 1.0文档页面,我在谷歌搜索中找到了一段时间,然后才意识到网址是1.0。

答案 1 :(得分:2)

如果输出看起来像直接HTML,我会尝试检查@main引用的模板。请提供main模板来源。