如何在字符串值内用 \" 序列替换引号字符是最简单的方法?
那将是fn:replace()
函数。
<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
...
${fn:replace(foo, '"', '\\"')}
跟具体问题无关,这通常是为了防止用户控制的输入作为HTML属性重新显示时出现格式不正确的情况。通常情况下,您应该使用<c:out>
或fn:escapeXml()
来实现。例如:
<input name="foo" value="<c:out value="${param.foo}" />" />
<input name="foo" value="${fn:escapeXml(param.foo)}" />
它不仅考虑引号,还考虑所有其他XML特殊字符,如<
,>
,&
等。
string.replace(/"/g, '\\"')