2

グレイルズ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 }
}

これは私を壁に押し上げています!

編集:スタックトレース

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
    ...
}
4

1 に答える 1

3

わかりました-これが何が起こったのかです。

の使用からを使用に切り替えましStringEnum。このエラーの原因となっている既存のデータベースが"Banner"フィールドにありました。フィールドをに変更しましたが、"BANNER"このエラーは表示されなくなりました。

グレイルズはやろうとしていたEnum.valueOf(RequestType, "Banner")

于 2013-01-17T18:48:43.367 に答える