有一个div并显示一些请求数据
<div id="someDiv"></div>
在javascript中
case 1: document.geElementById("someDiv").innerHTML = '<%=request.getAttribute("someString")%>';
caes 2: document.geElementById("someDiv").innerHTML = "<%=request.getAttribute('someString')%>";
这样可以正常工作。但 someString 数据来自服务器端并具有不受信任的数据。如果 someString 在IE7中包含单引号/双引号,则会显示脚本错误。
Error: Unterminated string constant.
如何将单引号/双引号显示为div数据
答案 0 :(得分:0)
尝试使用JSTL
EL
case 1: document.geElementById("someDiv").innerHTML = "${requestScope.someString}";
答案 1 :(得分:0)
我正在使用org.apache.commons.lang.StringEscapeUtils类的 escapeJavaScript 方法解决我的问题。 这将编码html并显示 someString 的原始数据
document.geElementById("someDiv").innerHTML = '<%=StringEscapeUtils.escapeJavaScript((String)request.getAttribute("someString"))%>';