[英]How does Grails convert String to Enum?
我的枚舉中有一個自定義的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
實例時會發生TaxRate
...
我應該覆蓋什么才能支持這種自定義映射? 試圖覆蓋valueOf(String)
以錯誤結束..
你看過這個頁面底部的條目了嗎?
如果你想在一個元素中使用帶有“value”字符串屬性(一個非常常見的習語)的枚舉,試試這個:
enum Rating {
G("G"),PG("PG"),PG13("PG-13"),R("R"),NC17("NC-17"),NR("Not Rated")
final String value
Rating(String value) { this.value = value }
String toString() { value }
String getKey() { name() }
}
然后將
optionKey="key"
添加到您的代碼中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.