Grails如何将字符串转换为枚举类型?

4

我在我的枚举类中有一个自定义的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%”之类的漂亮输出。
但是,当用户从
1个回答

6

你看到了这个页面底部的条目吗?

如果你想在<select>元素中使用带有“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"

这对我一个枚举类型有效,但如果您有多个枚举类型想使用字符串值怎么办? - bitfidget

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接