逃避速度的双引号

时间:2017-11-14 02:50:46

标签: velocity

我使用的是速度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;}",问题更严重。

代码未知,可以是任何内容。

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

Velcoity在velocity-tools项目中也开发了EscapeTool,它以不同的选项逃脱

  

在Velocity模板中使用转义的工具。它提供了转义Velocity,Java,JavaScript,HTML,HTTP,XML和SQL

输出的方法

在您的情况下,它是javascript,因此请使用$esc.javascript(示例:

  

$ javascript - >他没有说,“停!”

     

$ esc.javascript($ javascript) - >他没有说,“停!”

相关问题