En écrivant une page JSP, que fait-on exactement <c:out>
? J'ai remarqué que ce qui suit a le même résultat:
<p>The person's name is <c:out value="${person.name}" /></p>
<p>The person's name is ${person.name}</p>
c:out
échappe les caractères HTML afin que vous puissiez éviter les scripts intersites.
si person.name = <script>alert("Yo")</script>
le script sera exécuté dans le second cas, mais pas lors de l'utilisation c:out
Comme l'a dit Will Wagner, dans l'ancienne version de jsp, vous devriez toujours l'utiliser
c:out
pour afficher du texte dynamique.De plus, en utilisant cette syntaxe:
vous pouvez afficher le texte "Aucun nom" lorsque le nom est nul.
la source
c:out
a également un attribut pour affecter une valeur par défaut si la valeur deperson.name
se trouve être nulle.Source: out (documentation générée par TLDDoc)
la source
Vous pouvez explicitement activer l'échappement des entités Xml en utilisant une valeur d'attribut escapeXml égale à true. FYI, c'est par défaut "vrai".
la source
Les anciennes versions de JSP ne prenaient pas en charge la seconde syntaxe.
la source