2009-01-24 7 views
32

Avant d'y aller et de créer une balise personnalisée ou une méthode Java pour le faire, quelle est la manière standard d'échapper les caractères HTML dans JSP?Comment puis-je échapper des caractères HTML spéciaux dans JSP?

J'ai un objet String et je veux l'afficher dans le HTML afin qu'il apparaisse tel quel à l'utilisateur.

Par exemple:

String a = "Hello < World"; 

deviendrait:

Hello &lt; World 

Répondre

46

Réponse courte:

<c:out value="${myString}"/> 

il y a une autre option:

<%@taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> 
${fn:escapeXml(myString)} 
+6

Soyez prudent car il existe une différence entre l'échappement XML et HTML. –

+0

Dans la plupart des cas, l'échappement de XML est suffisant. BTW, les deux exemples de code ci-dessus fonctionnent exactement de la même manière. (c: out échappe également au Xml, pas au Html). – rustyx

+0

Si la préoccupation est la prévention XSS en HTML, l'échappement XML devrait être suffisant (en essayant de ne pas entrer dans le plaidoyer xml vs html ici ...) –

Questions connexes