我正在 Spring 中构建 Web 应用程序,并希望在 *.jsp 中将枚举值显示为标签
我的枚举:
public enum Type {BODY_WEIGHT, WEIGHTS};
现在我正在使用以下形式显示它:
<form:select path="type" items="${typeLabels}" itemValue="value" itemLabel="label">
<form:options/>
</form:select>
“typelabels”是将枚举值映射到标签的简单对象列表:
List<ExerciseType> typeLabels = new ArrayList<ExerciseType>();
typeLabels.add(new ExerciseType(Type.BODY_WEIGHT, "Body weight"));
typeLabels.add(new ExerciseType(Type.WEIGHTS, "With weights"));
效果很好。
现在我想显示具有枚举作为属性的对象列表:
<c:forEach var="exercise" items="${list}" >
<tr>
<td>${exercise.title}</td>
<td>${exercise.description}</td>
<td>${exercise.type}</td>
</tr>
</c:forEach>
显然,现在我得到了像“BODY_WEIGHT”和“WEIGHTS”这样的值。
有没有办法提供枚举值及其标签之间的映射列表,类似于前面的示例?
我不想用 BODY_WEIGHT("Body weight") 之类的东西对枚举中的标签进行硬编码,因为我想稍后本地化应用程序。
谢谢!
狮子座