Tôi đang gặp sự cố khi điền một danh sách thả xuống từ các giá trị của lớp Enum. mã lớp enum của tôi là:
Giá trị enum dưới dạng danh sách thả xuống
package abc.xyz.constants;
public enum StateConstantsEnum
{
NEWYORK("NY"),
FLORIDA("FL"),
CALIFORNIA("CA"),
private String fullState;
private StateConstantsEnum(String s)
{
fullState = s;
}
public String getState()
{
return fullState;
}
}
Tôi muốn cư danh sách thả xuống với NewYork, Florida và California. Tôi tạo ra và thêm danh sách để mô hình mùa xuân theo cách này:
List<StateConstantsEnum> stateList = new ArrayList<StateConstantsEnum>(Arrays.asList(StateConstantsEnum.values()));
model.addAttribute("stateList", stateList);
Sau đó, tôi đang cố gắng để cư menu thả xuống trong JSP sử dụng:
<select name="${status.expression}" name="stateLst" id="stateLst">
<option value=""></option>
<c:forEach items="${stateList}" var="option">
<option value="${option}">
<c:out value="${option.fullState}"></c:out>
</option>
</c:forEach>
</select>
Nhưng tôi nhận được một ngoại lệ "ngoại lệ đã tạo: javax.el.PropertyNotFoundException: Lớp 'abc.xyz.constants.StateConstantsEnum' không có thuộc tính 'fullState'. "
Làm cách nào để khắc phục sự cố này? Giúp nhiều đánh giá cao
Tôi nghĩ rằng '' sẽ là chính xác. –
kingori
Rất tiếc .. Tôi đã bỏ lỡ một phần nhỏ. Cảm ơn. Một vấn đề nữa, đây là in NY, FL, CA, không phải NEWYORK, FLORIDA và CALIFORNIA. Bất kỳ ý tưởng? – BambooBlunder
Chỉ cần sử dụng '$ {option} 'sau đó. Trên thực tế, tên "fullstate" là gây hiểu nhầm. Đó là một cách khác. Nó giữ một chữ viết tắt của tiểu bang. – BalusC