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?
I know this is few years old and must be solved by now, but thought I'd add the solution for future comers.
Just remove the [itemLabel="beanProperty"] part. It will use the toString to print the values.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With