Réponses:
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:
<c:out value="${person.name}">No name</c:out>
vous pouvez afficher le texte "Aucun nom" lorsque le nom est nul.
c:out
a également un attribut pour affecter une valeur par défaut si la valeur de person.name
se trouve être nulle.
Les anciennes versions de JSP ne prenaient pas en charge la seconde syntaxe.