我已经定义了一个包含动态变量
的变量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 ? /\,.°º®#&*@+–!:()‘’”"'";
答案 0 :(得分:1)
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
[..]
var tempVar = <c:out value="${varName}"/>;
它会将双引号更改为"
等。
如果在scriptlet中声明varName
,则必须使其对表达式语言可见:
<%
pageContext.setAttribute("varName", varName);
%>
答案 1 :(得分:0)
您需要用\"
然后Javascript会将它们读作双引号。
var tempVar = "<%=varName.replaceAll("\"", "\\\"")%>";