Using Enums in EL |
Unfortunately EL has no special support for enums. That makes it especially hard when you need to input enum values (for example from a dropdown box). One simple solution is to add a getter and setter to your bean to marshall the String value to and from an enum:
enum Status { A, B, C, D} /* EL convenience getters and setters */ public String getStatus_() { return (status == null) ? null : status.name(); } public void setStatus_(String status) { this.status = Status.valueOf(status); }
Now you can build your dropdowns easily like this:
<h:outputText value="Status:"/> <h:selectOneMenu value="${bean.status_}"> <f:selectItem itemValue="A" itemLabel="Asleep"/> <f:selectItem itemValue="B" itemLabel="Bored"/> <f:selectItem itemValue="C" itemLabel="Creative"/> <f:selectItem itemValue="D" itemLabel="Dead"/> </h:selectOneMenu>
In this example I use the underscore on the method name to distinguish it from the regular getter and setter which are not shown.
Using Enums in EL![]() |
Roger Keays is an artist, an engineer, and a student of life. He has no fixed address and has left footprints on 40-something different countries around the world. Roger is addicted to surfing. His other interests are music, psychology, languages, the proper use of semicolons, and finding good food. |