在字符串中处理单引号/双引号

时间:2014-07-11 11:27:34

标签: javascript jsp

我已经定义了一个包含动态变量

的变量
var tempVar = "<%=varName%>";

varName输出Black/Blue Mirror + some special character with single and double quotes。由于单/双引号,它在页面上打破了tempVar。

varName具有的实际字符串为Black/Blue Mirror ? /\,.°º®#&*@+–!:()‘’”"'。这实际上是在我的项目中允许的。

页面中的输出:var tempVar = "Black/Blue Mirror ? /\,.°º®#&*@+–!:()‘’”"'";

2 个答案:

答案 0 :(得分:1)

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
[..]
var tempVar = <c:out value="${varName}"/>;

它会将双引号更改为&quot;等。

如果在scriptlet中声明varName,则必须使其对表达式语言可见:

<%
    pageContext.setAttribute("varName", varName);
%>

答案 1 :(得分:0)

您需要用\"

替换双引号

然后Javascript会将它们读作双引号。

var tempVar = "<%=varName.replaceAll("\"", "\\\"")%>";