我正面临从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