Schreiben einer JSP-Seite, was genau macht die <c:out>
? Ich habe festgestellt, dass das Folgende beide das gleiche Ergebnis hat:JSP: JSTL <c:out> tag
Antwort
c:out
Escaped HTML-Zeichen, so dass Sie Cross-Site-Scripting vermeiden können.
wenn person.name = <script>alert("Yo")</script>
das Skript wird im zweiten Fall ausgeführt wird, nicht jedoch bei der Verwendung von c:out
c:out
hat auch ein Attribut für einen Standardwert zuweisen, wenn der Wert von person.name
null sein geschieht.
Wie gesagt Will Wagner, in der alten Version von jsp Sie immer c:out
zur Ausgabe von dynamischem Text verwenden sollen.
Außerdem mit folgenden Syntax:
<c:out value="${person.name}">No name</c:out>
können Sie den Text "No Name" angezeigt werden, wenn der Name null ist.
Cool! Das wusste ich nicht. –
Einverstanden, cool. Danke fürs Unterrichten und Helfen. Das wusste ich auch nicht. Prost! –
oder
Sie können das Entweichen von Xml-Entitäten explizit aktivieren, indem Sie ein Attribut verwenden, das den Wert von escapeXml gleich true hat. Zu Ihrer Information, es ist standardmäßig "wahr".
Ein Beispielcode würde diese Antwort wirklich vervollständigen. – RachelC
Nur wenn 'escapeXML' es auf wahr (nicht sicher, ob es standardmäßig ist) –
Ich glaube, es ist standardmäßig wahr. –
N.B. Es entkommt XML nicht HTML. Eine der ärgerlicheren Feinheiten von JSTL. Am Ende schreibe ich immer meine eigene HTML-Escape-EL-Fn. –