Velocity.Quotes和语言变量中的双引号

时间:2017-08-19 15:46:22

标签: javascript velocity dotcms

我在dotCMS中有多种语言。语言变量可能包含单引号或双引号。 我可以通过将它们包装在引号中来访问我的javascript中的这些变量。

var text =" $ text.get(' variable_name')";

但是如果变量包含相同的引号,则js代码崩溃。 当变量包含/时,常规expretions也不起作用。 我使用es5,所以模板字符串不是一个选项。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

所以$ {text.get('variable_name')只返回一个java.lang.String,这意味着你可以访问所有string.replace()和string.replaceAll()方法。下面是一个(未经测试的)示例。

var text = "${text.get('variable_name').replace("\"","\\\")}";

dotCMS也提供了一个javascript-ify实用程序,例如:

var text = "$UtilMethods.javascriptify(${text.get('variable_name')})";