grails - 如何在Grails 4中的创建和编辑表单中添加多个枚举字段?

标签 grails enums

在我的域模型中,某些类将枚举的集合作为字段。我以两种不同的方式对其进行建模,作为嵌入式集合:

class A {
  String name
  Set<Enumeration> enumerations

  static embedded = ['enumerations']
}

enum Enumeration {
  ENUM_VALUE_1,
  ENUM_VALUE_2,
  ENUM_VALUE_3
}

并且作为hasMany集合:
class A {
  String name

  static hasMany = [enumerations:Enumeration]
}

enum Enumeration {
  ENUM_VALUE_1,
  ENUM_VALUE_2,
  ENUM_VALUE_3
}

在两种情况下,都可以通过以下方式将枚举值添加到BootStrap.groovy中的集合中:
A.withTransaction { status ->
  def a1 = new A( name:"a1" )
  a1.addToEnumerations( Enumeration.ENUM_VALUE_1 )
  a1.addToEnumerations( Enumeration.ENUM_VALUE_2 )
}

使用脚手架,我可以在索引和显示页面中看到枚举集合的内容,但是在编辑和创建页面中,仅显示标签,不显示小部件。

这是显示窗口小部件的最简单方法,例如多个选择,Grails 4中的此类字段(我正在使用Grails 4.0.3)?

提前致谢。

最佳答案

Which is the simplest way to show a widget, e.g. a multiple select, for this kind of fields in Grails 4 (I am using Grails 4.0.3)?



您可以使用select标记。
<g:select multiple="true" name="someName" from="${somePackage.SomeEnumClassName}"/>

关于grails - 如何在Grails 4中的创建和编辑表单中添加多个枚举字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61593017/

相关文章:

java - JPA - 按录取表格状态计数(状态类型枚举)

hibernate - Grails 域模型中的继承会导致重复的外键

grails - 如何在 Grails 服务上调用初始化函数?

ios - 无法访问我的 viewController 类中常量文件中的 typedef 枚举声明函数

c - 如何安全地在 C 中使用枚举?

c# - 如何存储权限二进制集

regex - 正则表达式:- String can contain any characters but should not be empty

grails - grails-以gsp上传文件(单击“取消”后消失)

grails - Grails 3.0x:表格在哪里去了?

enums - 从没有模式匹配的枚举中读取