在模型中我有三种类型的动物:鸟类,哺乳动物和鱼类。每种类型的动物都有枚举类型,例如哺乳动物的枚举类型是:狼,熊,狮子(......)。我的观点部分有问题。我想有一个视图来创建动物(并将其保存到数据库)。所以我的这里是我的控制者的一部分:
List<AnimalType> typeBirdList = new ArrayList<AnimalType>(
Arrays.asList(BirdTypeEnum.values()));
List<AnimalType> typeFishList = new ArrayList<AnimalType>(
Arrays.asList(FishTypeEnum.values()));
List<AnimalType> typeMammalList = new ArrayList<AnimalType>(
Arrays.asList(MammalTypeEnum.values()));
Map<String, List<AnimalType>> animalsTypes = new HashMap<String, List<AnimalType>>();
animalsTypes.put("Bird", typeBirdList);
animalsTypes.put("Fish", typeFishList);
animalsTypes.put("Mammal", typeMammalList);
(...)
model.addObject("animalsTypes", animalsTypes);
然后我将地图添加到视图部分。我想有两个选择选项。首先取决于地图的关键,我已经这样了:
<tr>
<td>Type animals: <select name="animalsTypes">
<c:forEach items="${animalsTypes}" var="type">
<option value="${type.key}">
<c:out value="${type.key}"></c:out>
</option>
</c:forEach>
</select></td>
</tr>
第二个将取决于上面的选择。像:value =“$ {type.get(key))”是在一个视图中做任何事情的方法吗?因此,如果用户将选择Mammal键,则第二个选择应具有以下选项:Wolf,Bear,Lion(...)。感谢您提供任何帮助/建议。