La fonction JSTL pour remplacer les guillemets à l'intérieur d'une chaîne?
Quelle est la façon la plus simple de remplacer les caractères guillemets par des valeurs " sequence inside string?
10
demandé sur
Dims
2012-01-17 20:23:35
2 réponses
sera le fn:replace()
fonction.
<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
...
${fn:replace(foo, '"', '\"')}
sans rapport avec à la question concrète, il s'agit d'une exigence souvent récurrente afin de prévenir les HTML mal formés lorsque l'utilisateur redisplaye l'entrée contrôlée par l'utilisateur en tant qu'attribut HTML. Normalement, vous devez utiliser <c:out>
ou fn:escapeXml()
pour ceci à la place. E. g.
<input name="foo" value="<c:out value="${param.foo}" />" />
<input name="foo" value="${fn:escapeXml(param.foo)}" />
il tient compte non seulement des citations, mais aussi de tous les autres caractères spéciaux XML comme <
,>
,&
, etc.
Voir aussi:
15
répondu
BalusC
2017-05-23 12:00:20
Utiliser javascript remplacer (avec /g pour remplacer toutes les occurrences)
string.replace(/"/g, '\"')
-7
répondu
Troy Barlow
2012-01-17 16:28:38