rendered bei Enums JSF

internet

Top Contributor
Hallo,
ich habe ein Enum in meiner Javaklasse:
Java:
public enum Fahrzeug
        {
                DAIMLER,
                PORSCHE,
                AUDI
        }
        @NotNull
        @Column(name="fahrzeug",length=12,nullable=false)
        @Enumerated(STRING)
        private Fahrzeug fahrzeug= Fahrzeug.DAIMLER;


Nun möchte ich in Abhängigkeit ein Bild anzeigen lassen. Wie kann ich das in der JSF Seite überprüfen. Bzw wie kann ich Enums in der JSF Seite vergleichen?

Java:
rendered="#{fahrzeug eq 'PORSCHE'}
=> das geht nicht!

Hat das jemand schon mal probiert?
 

MrWhite

Bekanntes Mitglied
Weil eine enum nunmal kein String ist. JPA übersetzt das zwar als String für die Datenbank, JSF tut das jedoch nicht.

Da musst du für JSF entweder deine enum erweitern, so dass Sie ein text-Property hat das du vergleichen kannst. Bei diesen Vergleichen in EL sehe ich leider keine andere Möglichkeit. Du könntest allerdings eine eigene EL-Methode zum Vergleich von solchen enums mit Strings schreiben.
 

Ähnliche Java Themen

Neue Themen


Oben