我有一节课:
class User {
Set<Foo> foos = []
}
其中Foo是枚举:
class Foo { A, B, C, D}
我有一个控件操作,其参数类型为User
def someAction = {User user ->
// impl omitted
}
我在GSP中创建了一个多选
<g:select name="foos" multiple="true" from="${Foo.values()}"/>
但是当我提交表单时,所选值不会绑定到User命令对象的foos属性.我究竟做错了什么?
最佳答案
http://www.grails.org/TipsAndTricks
枚举用法
如果你想在一个元素中使用带有“value”字符串属性(一个非常常见的习语)的枚举,试试这个:
enum Rating {
G("G"),PG("PG"),PG13("PG-13"),R("R"),NC17("NC-17"),NR("Not Rated")
final String value
Rating(String value) { this.value = value }
String toString() { value }
String getKey() { name() }
}
然后将optionKey =“key”添加到您的代码中.图片来源:Gregg Bolinger