Каков самый простой способ заменить символы кавычки с помощью "последовательности внутри строк"?
Функция JSTL для замены символов цитат внутри строки?
Ответ 1
Это будет fn:replace()
.
<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
...
${fn:replace(foo, '"', '\\"')}
Не привязанный к конкретному вопросу, это часто повторяющееся требование, чтобы предотвратить искаженный HTML при повторном отображении управляемых пользователем входных данных в качестве атрибута HTML. Обычно вы должны использовать <c:out>
или fn:escapeXml()
для этого. Например.
<input name="foo" value="<c:out value="${param.foo}" />" />
<input name="foo" value="${fn:escapeXml(param.foo)}" />
Он учитывает не только кавычки, но и все другие специальные символы XML, такие как <
, >
, &
и т.д.
См. также:
Ответ 2
Используйте javascript replace (с/g для замены всех вхождений)
string.replace(/"/g, '\\"')