==
Und eq
liefern dasselbe Ergebnis mit EL, um meine String-Vergleichstests durchzuführen:
<c:if test="${person.sokande_i == 'endast_usa'}">Endast USA</c:if>
<c:if test="${person.sokande_i == 'alla'}">Alla länder</c:if>
<c:if test="${person.sokande_i == 'alla_utom_usa'}">Alla utom USA</c:if>
Soll ich stattdessen eq
verwenden? Ist ==
Nur für ganze Zahlen? Es funktioniert aber auch für Streicher. AFAIK ==
Testet, ob hashCodes gleich sind und eq
bedeutet "sinnvoll anders".
Ein anderes Frage sagt, dass ==
Und eq
dasselbe tun.
Gibt es hier keinen Unterschied? IS nicht der Unterschied, den ich darstelle: ==
Betrachtet den Hashcode und eq
die Implementierung von equals(...)
.
Sie sind beide gleich. Ich benutze eq
in EL, da es lesbarer ist als ein Satz.
Beide sind gleich. Beide ==
und eq
führen zu folgendem Code:
jspContext.findAttribute("person.sokande_i").equals("endast_usa")
für EL
${person.sokande_i == 'endast_usa'}
Laut Dokumentation ist es dasselbe
Zusätzlich zu . und [] -Operatoren, die in Wert- und Methodenausdrücken erläutert werden, bietet die EL die folgenden Operatoren, die nur in rWert-Ausdrücken verwendet werden können:
[...]
Relational : ==, Gl. ,! = , ne, <, lt,>, gt, <=, ge,> =, le. Vergleiche können mit anderen Werten oder mit Booleschen Literalen, Zeichenfolgenliteralen, Ganzzahlliteralen oder Gleitkommaliteralen durchgeführt werden.
Ein Unterschied: String-Operatoren wie eq, ne, lt, gt, ge, le
existieren, da sie XML-sicher sind, müssen sie nicht wie <=
zum Beispiel.
Es wird erklärt hier
Ein nützliches Merkmal der EL ist die Fähigkeit, Vergleiche zwischen Zahlen oder Objekten durchzuführen. Diese Funktion wird hauptsächlich für die Werte von benutzerdefinierten Tag-Attributen verwendet. Sie kann jedoch auch verwendet werden, um das Ergebnis eines Vergleichs (wahr oder falsch) auf die JSP-Seite zu schreiben. Die EL bietet folgende Vergleichsoperatoren:
• == oder Gl
•! = Oder ne
• <oder lt
•> oder gt
• <= oder le
•> = oder geDie zweite Version jedes Operators ist vorhanden, um zu vermeiden, dass Entitätsreferenzen in der JSP-XML-Syntax verwendet werden müssen. Das Verhalten der Bediener ist jedoch dasselbe.