data-binding - 数据绑定(bind)到 Grails 中命令上的枚举

标签 data-binding grails groovy

我有一个类:

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/

相关文章:

c# - 如何在运行时使用 MVVM 将 List<object> 绑定(bind)到 DataGrid

c# - 带有 2 个文本的按钮,通过 controltemplate 绑定(bind)

WPF - BitmapEffect 上的编程绑定(bind)

json - 使用Grails中预定义的ID从JSON创建对象

unit-testing - Groovy:验证 stub URL 的构造

java - JAXB:我应该如何编码复杂的嵌套数据结构?

eclipse - 如何将Vaadin 7.3.9集成到Eclipse中的Grails项目中?

email - 使用模板发送电子邮件-Grails

database - 使用Hibernate从Grails中的列查询数据库值

jenkins - 使用 Groovy 在与父节点相同的节点上触发 Jenkins 作业