Schreiben einer JSP-Seite, was genau macht das <c:out>
tun? Mir ist aufgefallen, dass die folgenden beide 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>
Steve Kuo
Schreiben einer JSP-Seite, was genau macht das <c:out>
tun? Mir ist aufgefallen, dass die folgenden beide 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>
krosenvold
c:out
maskiert HTML-Zeichen, sodass Sie Cross-Site-Scripting vermeiden können.
wenn person.name = <script>alert("Yo")</script>
Im zweiten Fall wird das Skript ausgeführt, nicht jedoch bei Verwendung c:out
Nur wenn ‘escapeXML’ auf true gesetzt ist (nicht sicher, ob es standardmäßig so ist)
– Chris Serra
14. November 2008 um 19:12 Uhr
Ich glaube, es ist standardmäßig wahr.
– Zack der Mensch
2. Juli 2009 um 17:02 Uhr
NB es entkommt XML nicht HTML. Eine der ärgerlicheren Feinheiten von JSTL. Am Ende schreibe ich immer meine eigene HTML-Flucht EL fn.
– Adam Gent
12. Juni 2011 um 18:16 Uhr
Beim Attributnamen wird zwischen Groß- und Kleinschreibung unterschieden, also ist es escapeXml=”true” und nicht escapeXML
– Mark Chorley
8. April 2013 um 10:43 Uhr
Ich habe keine Ahnung, was das Codebeispiel dieser Antwort zeigt – kann jemand das klären? Es erwähnt einen “zweiten Fall”, aber ich sehe das nicht und ich sehe nicht, dass c:out im Code verwendet wird.
– IcedDante
2. Oktober 2014 um 15:22 Uhr
alexmeia
Wie Will Wagner sagte, sollten Sie in der alten Version von jsp immer verwenden c:out
um dynamischen Text auszugeben.
Darüber hinaus mit dieser Syntax:
<c:out value="${person.name}">No name</c:out>
Sie können den Text “Kein Name” anzeigen, wenn der Name null ist.
Kühl! Das wusste ich nicht.
– Adam Asham
14. November 2008 um 22:04 Uhr
Einverstanden, cool. Danke fürs Unterrichten und Helfen. Das wusste ich auch nicht. Prost!
– B-Geld
7. Februar 2012 um 17:43 Uhr
oder
– gmustudent
21. August 2012 um 3:21 Uhr
JSR 52, Maintenance Release 2, siehe Seite 22 „mit Körper“. Verknüpfung: download.oracle.com/otndocs/jcp/jstl-1.2-mrel2-eval-oth-JSpec
– Bart
6. Dezember 2012 um 23:12 Uhr
@Barett. Kühl. Ich frage mich, warum dies nie eines der Tutorials oder Beispiele macht. Eine bequemere Syntax als das Standardattribut IMO.
– Thilo
27. Dezember 2012 um 5:30 Uhr
c:out
hat auch ein Attribut zum Zuweisen eines Standardwerts, wenn der Wert von person.name
zufällig null ist.
Sie können das Maskieren von XML-Entitäten explizit aktivieren, indem Sie einen Attribut-escapeXml-Wert verwenden, der gleich „true“ ist. FYI, es ist standardmäßig “true”.
Ältere Versionen von JSP unterstützten die zweite Syntax nicht.