我有一个类:
class User {
Set<Foo> foos = []
}
在哪里
Foo
是一个枚举:class Foo { A, B, C, D}
我有一个带有
User
类型参数的 Controller 操作def someAction = {User user ->
// impl omitted
}
我在 GSP 中创建了一个多选
<g:select name="foos" multiple="true" from="${Foo.values()}"/>
但是当我提交表单时,选定的值不会绑定(bind)到
foos
User
的属性(property)命令对象。我究竟做错了什么?
最佳答案
http://www.grails.org/TipsAndTricks
枚举使用
如果您想在元素中使用带有“value”字符串属性(一个非常常见的习惯用法)的 Enum,请尝试以下操作:
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"添加到您的标签中。学分:格雷格·博林格
关于data-binding - 数据绑定(bind)到 Grails 中命令上的枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7235183/