我使用的是速度1.7,模板位于下方。
var jsCode = "${code}";
eval(jsCode);
如果代码是" var id = 123",那么实际的js代码是
var jsCode = "var id = 123";
eval(jsCode);
没有问题。
但是,如果代码是" var name =" lucy"",那么实际的js代码是
var jsCode = "var name = "lucy"";
eval(jsCode);
显然存在语法错误。
如果代码是var jsonStr =" {\" id \":1,\" name \":\" lucy \& #34;}",问题更严重。
代码未知,可以是任何内容。
如何解决这个问题?
答案 0 :(得分:0)
Velcoity在velocity-tools项目中也开发了EscapeTool,它以不同的选项逃脱
在Velocity模板中使用转义的工具。它提供了转义Velocity,Java,JavaScript,HTML,HTTP,XML和SQL
输出的方法
在您的情况下,它是javascript,因此请使用$esc.javascript(
示例:
$ javascript - >他没有说,“停!”
$ esc.javascript($ javascript) - >他没有说,“停!”