I'm using Spring for an HTML form. One of the fields is an enum
and thus I'd like a HTML drop-down list (<option>
tag). My enum's name is different than the toString()
value. For example:
public enum Size {
SMALL("Small"), LARGE("Large"), VERY_LARGE("Very large");
private final String displayName;
private Size(String displayName) {
this.displayName = displayName;
}
public String toString() {
return displayName;
}
}
I want the user to see the toString()
value. Normally this is accomplished using the itemLabel
of the Spring options tag.
<form:options items="${enumValues}" itemLabel="beanProperty" />
But toString()
isn't a bean property as it doesn't start with "get". Is there a way to set itemLabel
to use toString's value without having to create a getter?