Tôi muốn tạo dropOneMenu thả xuống để tôi có thể chọn trạng thái trên câu hỏi của mình. Có thể làm cho f: selectItem linh hoạt hơn khi xem xét điều gì xảy ra nếu thứ tự của enums thay đổi và nếu danh sách lớn? Và tôi có thể làm điều này tốt hơn không? Và có thể tự động "chọn" mục mà câu hỏi có?Cách sử dụng các giá trị enum trong f: selectItem (s)
Enum lớp
public enum Status {
SUBMITTED,
REJECTED,
APPROVED
}
Câu hỏi thực thể
@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>
Một điều BalusC, có thể "chọn"/xem trạng thái mà câu hỏi có mặc định hay không (ví dụ khi bạn đang chỉnh sửa câu hỏi thì bạn đã đặt trạng thái của câu hỏi thành câu hỏi) – LuckyLuke
Trong ví dụ trên , JSF sẽ làm điều đó theo mặc định khi '# {bean.question.status}' có giá trị enum hợp lệ. Bạn không cần phải làm bất cứ điều gì mong đợi để đảm bảo rằng 'câu hỏi' có thuộc tính trạng thái thích hợp được điền sẵn. – BalusC
Ồ, okey. Hiểu rồi! :) – LuckyLuke