# JSTL EL und Enums



## byte (1. Nov 2007)

Moin,

es gelingt mir nicht, Member von Enum-Variablen in der JSP auszugeben.

Die Enum sieht folgendermaßen aus:


```
enum State {
    NEW      ("offen"),
    APPROVED ("genehmigt"),
    DECLINED ("abgelehnt"),
    DEFERED  ("zurückgestellt");
        
    private String label;
        
    private State(String label) {
        this.label = label;
    }
        
    @Override
    public String toString() {
        return label;
    }

    public String getLabel() {
        return label;
    }
}
```

Folgender Code schreibt mir die Konstante in die JSP (also z.B. NEW), obwohl die toString() überschrieben ist:

```
${ element.state }
```

Folgender Code liefert eine Exception:

```
${ element.state.label }
```


```
javax.el.PropertyNotFoundException: Property 'label' not readable on type java.lang.String
```

state ist auf jeden Fall eine Variable vom Enum-Typ State, also keine Ahnung, was diese Meldung soll.

Jemand eine Idee, wie ich per JSTL EL an das Label komme?

TIA byto


----------



## SnooP (1. Nov 2007)

so weit ich weiß kann JSTL mit Enums nicht umgehen. Musst du also irgendwie nen Wrapper für bauen....


----------



## byte (1. Nov 2007)

Hm ok.

Hab jetzt diesen Workaround gemacht:

Klasse:

```
public String getLabel() {
    return state.toString();
}
```

JSP:

```
${ element.label }
```


----------

