grails - 如何创建与 Grails 一起使用的枚举

标签 grails enums

Grails 2.2

所以这应该很容易,但是我不断收到相同的错误消息:

Class java.lang.IllegalArgumentException
Message No enum constant myPackageName.RequestType.Banner

这是我的类(class):

public enum RequestType {
    BANNER("Banner"), OTHER("Other")

    final String value

    RequestType(String value) { this.value = value }

    String toString() { value }
}

这让我抓狂!!

编辑:堆栈跟踪

No enum constant myPackageName.RequestType.Banner. Stacktrace follows:
java.lang.IllegalArgumentException: No enum constant myPackageName.RequestType.Banner
    at java.lang.Enum.valueOf(Enum.java:236)
    at org.grails.datastore.gorm.GormStaticApi.methodMissing(GormStaticApi.groovy:108)
    at ysuprojects.ProjectService.viewableProjects(ProjectService.groovy:115)
    at ysuprojects.ProjectService.getIndexModel(ProjectService.groovy:422)
    at ysuprojects.ProjectController.index(ProjectController.groovy:25)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722)

以下是它在类中的使用方式

class Project {
    ...
    RequestType requestType
    ...
}

最佳答案

好的 - 这就是发生的事情。

我从使用String改为使用Enum。现有数据库的字段中有“Banner”,这导致了此错误。我将该字段更改为“BANNER”,并且不再收到此错误。

Grails 试图执行 Enum.valueOf(RequestType, "Banner")

关于grails - 如何创建与 Grails 一起使用的枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14385144/

相关文章:

hibernate - 如何在Grails条件查询中引用 “this”对象

css - Grails 正在为 fullcalendar CSS 和 JS 文件提供未找到的资源

c - 在函数签名中将枚举声明为返回状态

Grails Shell 启动 Bootstrap

grails - 在 BootStrap 中使用 createLink

grails - 如何通过grails枚举排序?

swift - 嵌套枚举以便在 Swift 中通过 switch 语句访问的更简洁的方法?

Java 枚举出错?

wpf - 属性触发器绑定(bind)到标志枚举

entity-framework - 仅生产错误 - "The specified value is not an instance of type ' Edm.Int3 2' Parameter name: value"