Toon posts:

[EL/JSTL] Strings vergelijken?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb het volgende jsp fragment:
HTML:
1
2
3
<c:out value="${member.password}" />
<c:out value="${password}" />
<c:out value="${member.password eq password}" />

member.password is een waarde uit een database
password is een waarde uit de request

De uitkomst van dit fragment is adminfalseadmin. Dit op zichzelf al merkwaardig aangezien de volgorde veranderd is wat dan ook tevens mijn eerste vraag is. Verder levert de vergelijking "false" wat er klaarblijkelijk op duidt dat Strings met de vergelijkings operator worden vergeleken ipv de methode "String.equals". Mijn tweede vraag luidt dan, hoe kan ik met expression language Strings vergelijken?


Mocht er de onbeheersbare drang zijn voor het volledige jsp bestand kan dat natuurlijk, hoewel me dat persoonlijk zwaar onzinnig lijkt.

Verwijderd

Hmmm, welke application server gebruik je? Welke versie van JSTL?

Ik zou het zo ook even niet weten. Dat de volgorde wel eens wil omdraaien heb ik met alleen <c:out> nog niet gezien. I.c.m. JSF gebeurt precies dat wel eens, en is daarom ook expliciet een issue wat in JSTL 2.0 wordt opgelost.

Voorderest moet je eigenlijk de JSTL niet voor zulke logica dingen gebruiken. De JSTL is expres under-powered; het is alleen bedoeld om de view een beetje te regelen. Controlle om te kijken of een password correct is, is erg not-done in JSTL. (het is al not-done in script-lets, go figure!)

Effin, daar heb je natuurlijk allemaal weinig aan voor dit specificieke probleem.