说我有一些 jsp var foo
<c:set var="foo" value="foo's bar"/>
我有以下js
<script>
new SomeFunction('${foo}');
</script>
这显然会产生错误
missing ) after argument list
因为声明最终是
new SomeFunction('foo's bar');
但是,我不想只用双引号将参数 ${foo} 括起来,因为 foo 的值也可能在其字符串中包含一个双引号,这会导致同样的问题。假设 foo 可以是任何字符串。我只将它设置为 foo 的 bar,这样示例就很清楚了。目前,我正在解决这样的问题:
<script>
new SomeFunction('<c:out value="${foo}"/>');
</script>
在 SomeFunction 中:
SomeFunction = new function(foo) {
$(someSelector).text($("<div/>").html(foo).text());
}
这个解决方案似乎有效 - 假设我没有错过一些极端情况。但是,我不相信这是最好的解决方案。任何替代方案或改进建议?使用那个临时 div 对我来说似乎有点 hacky,我更喜欢不需要它的解决方案。