Afficher les valeurs de l'enum sur GSP page, puis de les lier dans la base de données

J'ai un cas d'utilisation dans lequel j'ai besoin de montrer d'abord la valeur de enum sur le SPG page sous forme de liste déroulante, demandez à l'utilisateur de sélectionner l'une de ces valeurs, et puis enfin de lier les données du domaine.

Donc mon code sur GSP ressemble à mon enum est MyEnum

<g:select from="${MyEnum.getAllEnumList()}" optionValue="name" name="duration"/>

mon enum est

public enum MyEnum {

    MIN15('15 Minutes'),
    MIN30('30 Minutes'),
    HOUR1('1 Hour'),
    HOUR2('2 Hours'),
    HOUR5('5 Hours'),
    HOUR8('8 Hours'),
    HALFDAY('half day'),
    FULLDAY('full day')

    private final String name
    private final String displayName

    public static final List<MyEnum> getAllEnumList() {
        [MIN15,MIN30,HOUR1,HOUR2,HOUR5,HOUR8,HALFDAY,FULLDAY]
    }

    public String toString() {
        return displayName
    }

    MyEnum(String name,String displayName) {
        this.name = name
        this.displayName = displayName;
    }

}

quand j'ai frappé à la page de son montrant une erreur de ce type:

Error processing GroovyPageView: Error executing tag <g:form>: Error evaluating expression [MyEnum.getAllEnumList()] on line [37]: java.lang.NoClassDefFoundError: Could not initialize class ENUM.MyEnum at D:/myspace/projects/IcepushpluginSampleApp/grails-app/views/util/test.gsp:46

Des idées ????

OriginalL'auteur Nikhil Sharma | 2011-07-29