Как использовать значения перечислений в f:selectItem(s)

Я хочу сделать выпадающее меню selectOneMenu, чтобы я мог выбрать статус в моем вопросе. Можно ли сделать f:selectItem более гибким, учитывая, что произойдет, если порядок перечислений изменится, и если список будет большим? И могу ли я сделать это лучше? И возможно ли автоматически "выбрать" элемент, который есть в вопросе?

Класс Enum

public enum Status {
    SUBMITTED,
    REJECTED,
    APPROVED
}

Сущность Question

@Enumerated(EnumType.STRING)
private Status status;

JSF

<div class="field">
    <h:outputLabel for="questionStatus" value="Status" />
    <h:selectOneMenu id="questionStatus" value="#{bean.question.status}" >
        <f:selectItem itemLabel="Submitted" itemValue="0" />
        <f:selectItem itemLabel="Rejected" itemValue="1" />
        <f:selectItem itemLabel="Approved" itemValue="2" />
    </h:selectOneMenu>
    <hr />
</div>
100
задан Karl Richter 23 May 2017 в 06:48
поделиться