Grails 2.2
所以这应该很简单,但我不断得到相同的错误信息:
Class java.lang.IllegalArgumentException
Message No enum constant myPackageName.RequestType.Banner
这是我的班级:
public enum RequestType {
BANNER("Banner"), OTHER("Other")
final String value
RequestType(String value) { this.value = value }
String toString() { value }
}
这让我起了墙!!
编辑:Stacktrace
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
...
}
答案 0 :(得分:3)
好的 - 所以这就是发生的事情。
我从使用String
切换到使用Enum
。现有数据库在字段中有"Banner"
,导致此错误。我将字段更改为"BANNER"
,我不再收到此错误。
Grails正在尝试Enum.valueOf(RequestType, "Banner")