防止在Play模板中转义报价

时间:2018-03-07 18:10:28

标签: playframework-2.0 playframework-2.6

我正在尝试使用播放框架模板生成一些javascript,我似乎无法找到输出字符串内容的方法,而不会引用转义。我读过@Html()应该做原始输出,但它似乎只是为了防止实体被编码。

测试模板:

@(code: String)

// plain injection
@code

// Html injection
@Html(code)

正在生成的输出:

// plain injection
var foo=\"bar\";

// Html injection
var foo=\"bar\";

似乎报价都以任何方式转义。

1 个答案:

答案 0 :(得分:0)

您是否确保字符串中的引号未转义?我尝试重现你的问题并得到不同的结果。

通过简单的“打印”(@code),我得到了

var foo = "bar&qout;

使用Html包装它对我有用:

var foo = "bar"