最近我将 Spring 从 3.0.5 升级到 3.1.2。一切正常,除了在我的表单上,我的所有选择框都显示枚举值而不是之前显示的 toString 值。
我的枚举是:
public enum StateType {
ALABAMA("AL", 1, "Alabama"),
etc
StateType(String abbreviation, int code, String displayText) {
this.abbreviation = abbreviation;
this.code = code;
this.displayText = displayText;
}
public String toString() {
return displayText;
}
}
我的控制器然后有这个:
@ModelAttribute("stateList")
public static StateType[] populateStateList() {
return StateType.values();
}
我的表格有这个片段:
<form:select path="state" id="state" items="${stateList}" style="width:12em" dojoType="dijit.form.FilteringSelect"/>
这一切都在 3.0.5 中起作用。出于某种原因,在 3.1.2 中从未调用过 toString。我在屏幕上的选择框显示枚举常量 (ALABAMA)。
有什么改变的想法吗?我使用 maven 来跟踪我的依赖项。我所做的只是更新我的春季版本常量。也许我需要更新其他一些依赖项?
谢谢