使用Spring选项标签显示枚举的toString值

Ste*_*Kuo 11 java enums spring jsp

我正在使用Spring作为HTML表单.其中一个字段是a enum,因此我想要一个HTML下拉列表(<option>标记).我的枚举名称与toString()值不同.例如:

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;
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望用户看到该toString()值.通常,这是使用itemLabelSpring选项标记完成的.

<form:options items="${enumValues}" itemLabel="beanProperty" />
Run Code Online (Sandbox Code Playgroud)

toString()它不是bean属性,因为它不以"get"开头.有没有办法设置itemLabel使用toString的值而不必创建一个getter?

use*_*265 6

我知道这已经有几年了,现在必须解决,但我想我会为未来的人添加解决方案.

只需删除[itemLabel ="beanProperty"]部分即可.它将使用toString来打印值.