applicazione I miei Grails ha un gran numero di enumerazioni che assomigliano a questo:Grails legano i parametri di richiesta di enum
public enum Rating {
BEST("be"), GOOD("go"), AVERAGE("av"), BAD("ba"), WORST("wo")
final String id
private RateType(String id) {
this.id = id
}
static public RateType getEnumFromId(String value) {
values().find {it.id == value }
}
}
Se ho un oggetto comando come questo:
class MyCommand {
Rating rating
}
Vorrei per (ad esempio) convertire automaticamente un parametro di richiesta con valore "wo" in Rating.WORST.
La procedura per la definizione dei convertitori personalizzati è descritta con here (nel contesto della conversione di stringhe in date). Sebbene questa procedura funzioni correttamente, non voglio dover creare una classe che implementa PropertyEditorSupport per ciascuna delle mie enumerazioni. C'è un'alternativa migliore?
Buon lavoro! Sto lottando con lo stesso problema. Perché diavolo non è una parte standard di Grails? Il supporto di Grails per i parametri di richiesta di binding agli oggetti dominio/comando è davvero terribile. – mcv
Grails supporta i parametri di richiesta di associazione alle enumerazioni, ma l'associazione predefinita si associa per nome. Se vuoi vincolare da qualche altra proprietà enum (ad es. Per id, come sopra), devi definire tu stesso il legame –