玩!框架ENUM和Groovy问题

2024-04-05

我有类似以下内容-

女人.java

...
@Entity
public class Woman extends Model {

    public static enum Outcome {
        ALIVE, DEAD, STILL_BIRTH, LIVE_BIRTH, REGISTER
    }
    ...
}

文件.java

...
@Entity
public class Form extends Model {
    ...
    public Outcome autoCreateEvent;
    ...
}

创建.html

#{select "autoCreateEvent", items:models.Woman.Outcome.values(), id:'autoCreateEvent' /}

它将 ENUM 值保存在 DB 中,这是可以的。但是,当我重新加载/编辑时,问题就会出现。因为它使用 ALIVE、DEAD 等作为选项的值,所以它无法正确显示列表。

有什么见解吗?


如果我正确理解你的问题,你想使用valueProperty and labelProperty设置适当的值option。就像是:

#{select "autoCreateEvent", items:models.Woman.Outcome.values(), valueProperty:'ordinal', labelProperty: 'name', id:'autoCreateEvent' /}

EDIT:

为此,您需要稍微调整枚举,如下所示:

public enum Outcome {
  A,B;

  public int getOrdinal() {
     return ordinal();
  }

}

原因是 Play #{select} 期望 getter 位于valueProperty and labelPropertyparams,未找到时默认为枚举toString

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

玩!框架ENUM和Groovy问题 的相关文章

随机推荐