Question

En écrivant une page JSP, que fait exactement le < c: out > ? J'ai remarqué que les deux suivants ont 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>
Était-ce utile?

La solution

c: out échappe aux caractères HTML afin d'éviter les scripts intersite.

if person.name = < script > alert (" Yo ") < / script >

le script sera exécuté dans le second cas, mais pas avec c: out

Autres conseils

Comme l'a dit Will Wagner, dans l'ancienne version de jsp, vous devriez toujours utiliser c: out pour générer 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 possède également un attribut permettant d'affecter une valeur par défaut si la valeur de nom de personne.nom s'avère être NULL.

Source: out (Documentation générée par TLDDoc)

Vous pouvez explicitement activer l'échappement d'entités XML en utilisant un attribut escapeXml égal à true. Pour info, il est par défaut "vrai".

Les anciennes versions de JSP ne prenaient pas en charge la deuxième syntaxe.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top