Antworten:
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:
<c:out value="${person.name}">No name</c:out>
Sie können den Text "Kein Name" anzeigen, wenn der Name null ist.
c:out
hat auch ein Attribut zum Zuweisen eines Standardwerts, wenn der Wert von person.name
zufällig null ist.
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".
Ältere Versionen von JSP unterstützten die zweite Syntax nicht.