我正在嘗試使用Grails中構建的應用程序,但我遇到了一個我不明白的錯誤。基本上,我有一個枚舉:Grails:java.lang.IllegalArgumentException:沒有枚舉常量
package com.wbr.manning.common
public enum ChapterType {
CHAPTER("chapter"), PREFACE("preface"), APPENDIX("appendix"), PART("part")
ChapterType(String value) { this.value = value }
String value
String getKey() { name() }
String toString() { value }
}
但是,當我嘗試列出章節的對象,我得到:
java.lang.IllegalArgumentException: No enum const class com.wbr.manning.common.ChapterType.part at java.lang.Enum.valueOf(Enum.java:196) at grails.orm.HibernateCriteriaBuilder.invokeMethod(HibernateCriteriaBuilder.java:1163) at com.wbr.manning.agileAuthor.AAChapterController$_closure3.doCall(AAChapterController.groovy:39) at com.wbr.manning.agileAuthor.AAChapterController$_closure3.doCall(AAChapterController.groovy) at java.lang.Thread.run(Thread.java:662) 2012-04-02 09:55:23,401 [http-8080-1] ERROR common.ErrorsController - org.codehaus.groovy.grails.web.errors.GrailsWrappedRuntimeException: No enum const class com.wbr.manning.common.ChapterType.part
上,我做錯了什麼在這裏的任何想法?我是否擁有正確的枚舉,還是需要查看調用代碼?
謝謝!
很高興知道,謝謝!我通過更改數據庫中的值來解決問題,但這當然更優雅! – NickChase 2012-04-02 17:29:09
在大多數實現中,這個方法的名字是'getInstance' – mre 2012-04-02 17:48:56