У меня есть пользовательский toString
метод в моем перечислении:
enum TaxRate implements Serializable {
RATE23(23.0),
...
private String s
private BigDecimal rate
private TaxRate(BigDecimal s) {
this.s = s + "%"
this.rate = s * 0.01
}
public String toString() {
return s
}
Теперь, когда я отображаю ставки в HTML, я получаю хороший вывод, такой как TAX: 23,0%.
Но что происходит, когда пользователь выбирает налог из <select>
и отправляется значение, т. Е. 23.0%
заключается в том, что Grails не может создать / получить экземпляр TaxRate
...
Что я должен переопределить для поддержки этого пользовательского сопоставления? Попытка переопределить valueOf(String)
закончилась ошибкой ..