将<form:select>标签与地图一起使用</form:select>

时间:2012-02-09 12:21:14

标签: forms spring spring-mvc

有没有办法将地图内的数据映射到标记? 我的代码中有一张地图Map<String, Integer>。 有没有办法将选项标签映射到地图中的String,将Integer映射到选项值?

2 个答案:

答案 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:selectform:options文档。根据需要使用itemsitemValueitemLabel

<form:select path="myFormVariable">
    <form:option value="0" label="Select One" />
    <form:options items="${myCollection}" itemValue="propertyToUseAsValue" itemLabel="propertyToUseAsDisplay" />
</form:select>