JSTL函数用于替换字符串中的引用字符?

时间:2012-01-17 16:23:36

标签: string replace jstl el

用\"替换引号字符的最简单方法是什么?字符串值内的序列?

2 个答案:

答案 0 :(得分:15)

这将是fn:replace()功能。

<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
...
${fn:replace(foo, '"', '\\"')}

对具体问题

无关,这是一个经常反复出现的要求,以便在将用户控制的输入重新显示为HTML属性时防止格式错误的HTML。 通常,您应该使用<c:out>fn:escapeXml()代替。 E.g。

<input name="foo" value="<c:out value="${param.foo}" />" />
<input name="foo" value="${fn:escapeXml(param.foo)}" />

它不仅会考虑引号,还会考虑所有其他XML特殊字符,例如<>&等。

另见:

答案 1 :(得分:-7)

使用javascript替换(使用/ g替换所有匹配项)

string.replace(/"/g, '\\"')