我正面臨從Enum類值填充下拉列表的問題。我的枚舉類代碼爲:
枚舉值作爲下拉列表
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;
}
}
我想填充NEWYORK,佛羅里達和加利福尼亞下拉列表。我創建並添加名單彈簧模型是這樣的:
List<StateConstantsEnum> stateList = new ArrayList<StateConstantsEnum>(Arrays.asList(StateConstantsEnum.values()));
model.addAttribute("stateList", stateList);
然後我試圖使用填充在JSP下拉:
<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>
但我得到一個異常「異常創建:javax.el.PropertyNotFoundException: 類'abc.xyz.constants.StateConstantsEnum'沒有屬性'fullState'。「
如何解決此問題?非常感謝
我認爲''是正確的。 –
kingori
哎呀..我錯過了一小塊。謝謝。還有一個問題,就是印刷NY,FL,CA,而不是NEWYORK,FLORIDA和CALIFORNIA。任何想法? – BambooBlunder
然後只需使用'$ {option}'。事實上,「全狀態」的名稱是誤導性的。這是相反的。它包含一個州名縮寫。 – BalusC