webentwicklung-frage-antwort-db.com.de

JSP: JSTL-Tag <c: out>

Schreiben einer JSP-Seite, was genau macht das <c:out> machen? 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>
108
Steve Kuo

Mit c:out Werden HTML-Zeichen ausgeblendet, sodass Sie Cross-Site-Scripting vermeiden können.

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

das Skript wird im zweiten Fall ausgeführt, jedoch nicht bei Verwendung von c:out

149
krosenvold

Wie gesagt, Will Wagner, in der alten Version von jsp solltest du immer c:out, um dynamischen Text auszugeben.

Außerdem mit dieser Syntax:

<c:out value="${person.name}">No name</c:out>

sie können den Text "No name" anzeigen, wenn name null ist.

123
alexmeia

c:out hat auch ein Attribut zum Zuweisen eines Standardwerts, wenn der Wert von person.name ist zufällig null.

Quelle: out (TLDDoc-generierte Dokumentation)

5
Chris Serra

Sie können das Escaping von XML-Entitäten explizit aktivieren, indem Sie ein Attribut verwenden, dessen Wert für escapeXml gleich true ist. Zu Ihrer Information, es ist standardmäßig "true".

5
Greenhorn

Ältere Versionen von JSP haben die zweite Syntax nicht unterstützt.

4
Will Wagner