Me enfrenta un problema al completar una lista desplegable de valores de clase Enum. Mi código de clase de enumeración es:
Valores enum como lista desplegable
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;
}
}
Quiero poblar la lista desplegable con NEWYORK, Florida y California. Estoy creando y añadiendo la lista para el modelo de Primavera de este modo:
List<StateConstantsEnum> stateList = new ArrayList<StateConstantsEnum>(Arrays.asList(StateConstantsEnum.values()));
model.addAttribute("stateList", stateList);
Entonces estoy tratando de llenar el menú desplegable en JSP usando:
<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>
Pero me estoy haciendo una excepción "Excepción created: javax.el.PropertyNotFoundException: La clase 'abc.xyz.constants.StateConstantsEnum' no tiene la propiedad 'fullState'. "
¿Cómo puedo solucionar este problema? Ayuda muy apreciada
Creo que '' sería correcto. –
kingori
Vaya ... Me perdí una pequeña pieza. Gracias. Un problema más, esto es imprimir NY, FL, CA, no NEW YORK, FLORIDA y CALIFORNIA. ¿Alguna idea? – BambooBlunder
Simplemente usa '$ {option}' luego. En realidad, el nombre de "fullstate" es engañoso. Es al revés. Tiene una abreviatura de estado. – BalusC