从枚举中获取值并在grails中的复选框中分配每个值

时间:2014-02-11 13:30:02

标签: java grails enums

这是我的枚举类

enum TableStatus {
AVAILABLE("Available"), OCCUPIED("Occupied"), RESERVED("Reserved"), MERGED("Merged")

static final TableStatus DEFAULT = AVAILABLE

final String value

TableStatus(String value){
    this.value = value
}

public String toString(){
    value
}
   }

这是我的html片段。我无法在值

上获得正确的语法
<label class="radio-inline" style="width:auto"> <input type="radio" name="status" value="${enums.TableStatus?.AVAILABLE*}">Available</label

<label class="radio-inline" style="width:auto"> <input type="radio" name="status" value="${enums.TableStatus?.OCCUPIED*}">Occupied</label> 

<label class="radio-inline" style="width:auto"> <input type="radio" name="status" value="${enums.TableStatus?.RESERVED*}">Reserved</label>

1 个答案:

答案 0 :(得分:1)

将枚举值输入为String,例如可用 OCCUPIED 等......

要取回Enum,请使用以下内容将String值转换为控制器中的Enum

TableStatus statusEnum = TableStatus.valueOf("**StringValueHere**")

注意:要生成每个单选框,您可以使用TableStatus标记在g:each枚举上进行迭代:

<g:each var="status" in="${TableStatus.values()}">
...
</g:each>