选择多个枚举列表

fli*_*iim 4 enums binding spring jsp

如何在多重选择中绑定枚举列表?

这是我的类属性(使用getter/setter):

private List<Color> colors;
Run Code Online (Sandbox Code Playgroud)

这是我的jsp:

<form:select id="colors" path="colors" multiple="true">
  <form:option value="" label="..."/>
  <form:options items="${Color.values}" />
</form:select>
Run Code Online (Sandbox Code Playgroud)

我无法将枚举值作为数组,因为它是空的.

谢谢阅读.

JB *_*zet 6

你好像认为${Color.values}会调用静态Color.values()方法.那是不对的.

在Java EE 7(Tomcat 8)之前,JSP EL中不支持静态方法.${Color.values}将搜索名为的属性Color,如果找到,则调用getValues()此对象.由于任何范围内都没有此类对象,因此您的选择框中将没有任何选项.

要执行您想要的操作,只需Color.values()从Spring控制器调用并将其添加到模型中,例如,在allColors属性名称下.然后用

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

在你的JSP中

如果您正在使用Java EE 7,那么您可以在JSP中导入Color类并使用${Color.values()}.