0

我创建了一些帮助类来为我的视图提供更多功能。例如,我有一个Button应该呈现一些自定义 HTML 以显示按钮元素的类。这些类是用纯 Scala 编写的,不使用 Play 的模板文件。但当然,我仍然可以(并且想要)@Button( "label", ... )从我的观点中称呼他们。

但是,我面临的问题是我的toString方法。

class Button( val label: String, ... )
{
    override def toString: String =
    {
        <a ...> ... </a>.toString
    }
}

不幸的是,这会将 HTML 字符转义为&lt;视图中的等。

如何将 Scala 的 XML 正确导出到 Play 视图?我想坚持使用 XML,而不是将它们写成字符串......

4

1 回答 1

1

没有玩过Play,但谷歌快速搜索得出了这个:

https://groups.google.com/forum/?fromgroups=#!topic/play-framework/WiDo3WJnC9s

是的,任何输出都将被转义并包装在 play.templates.Html 类型中。

所以如果你想控制转义机制,只需让你的动态表达式直接返回Html:
@Html("<strong>Do not escape</strong>")

不会避免先将 XML 写入字符串,但我想这不是主要问题 :)

于 2013-02-28T21:56:45.610 回答