在Play 2.0视图中转义JavaScript字符串?

时间:2012-03-16 19:38:32

标签: playframework-2.0

在Play 2.0的视图中,是否有一种简单的方法来转义字符串以用作JavaScript字符串?例如,这是一个简单的视图,在onclick中创建一个带有确认框的链接:

@(text:String,link:Call,message:String)
<a href="@link" onclick="return confirm('@message');">@text</a>

如果邮件中有换行符或单引号,则会失败。最好的方法是什么?

1 个答案:

答案 0 :(得分:13)

您可以使用Apache Commons Lang:

@(text:String, link:Call, message:String)

@import org.apache.commons.lang3.StringEscapeUtils.escapeEcmaScript
<a href="@link" onclick="return confirm('@escapeEcmaScript(message)');">@text</a>

您可以通过将模板添加到project/Build.scala文件中来避免模板中的显式导入:

templatesImport += "org.apache.commons.lang3.StringEscapeUtils.escapeEcmaScript"