有没有办法将地图内的数据映射到标记?
我的代码中有一张地图Map<String, Integer>
。
有没有办法将选项标签映射到地图中的String
,将Integer
映射到选项值?
答案 0 :(得分:23)
<form:options>
标记使用items
属性即开即用,支持您想要的内容。你可以这样做:
LinkedHashMap<Integer, String> states = new LinkedHashMap<Integer, String>();
states.put(1, "Alabama");
states.put(2, "Alaska");
states.put(3, "Arizona");
states.put(4, "Arkansas");
states.put(5, "California");
等等。然后以你的形式:
<form:select path="state">
<form:options items="${states}" />
</form:select>
这将呈现为:
<select name="state">
<option value="1">Alabama</option>
<option value="2">Alaska</option>
<option value="3">Arizona</option>
<option value="4">Arkansas</option>
<option value="5">California</option>
</select>
答案 1 :(得分:7)
请参阅Spring form:select和form:options文档。根据需要使用items
,itemValue
和itemLabel
。
<form:select path="myFormVariable">
<form:option value="0" label="Select One" />
<form:options items="${myCollection}" itemValue="propertyToUseAsValue" itemLabel="propertyToUseAsDisplay" />
</form:select>