Was genau macht das Schreiben einer JSP-Seite <c:out>
? Ich habe festgestellt, dass die folgenden beiden das gleiche Ergebnis haben:
<p>The person's name is <c:out value="${person.name}" /></p>
<p>The person's name is ${person.name}</p>
c:out
Entkommt HTML-Zeichen, damit Sie Cross-Site-Scripting vermeiden können.
wenn person.name = <script>alert("Yo")</script>
Das Skript wird im zweiten Fall ausgeführt, jedoch nicht bei Verwendung c:out
Wie Will Wagner sagte, sollten Sie in der alten Version von jsp immer
c:out
dynamischen Text ausgeben.Verwenden Sie außerdem diese Syntax:
Sie können den Text "Kein Name" anzeigen, wenn der Name null ist.
quelle
c:out
hat auch ein Attribut zum Zuweisen eines Standardwerts, wenn der Wert vonperson.name
zufällig null ist.Quelle: out (TLDDoc-generierte Dokumentation)
quelle
Sie können das Escapezeichen von XML-Entitäten explizit aktivieren, indem Sie ein Attribut verwenden, bei dem der EscapeXml-Wert gleich true ist. Zu Ihrer Information, es ist standardmäßig "wahr".
quelle
Ältere Versionen von JSP unterstützten die zweite Syntax nicht.
quelle