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

Bat*_*man 9 forms spring spring-mvc

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

The*_*ear 25

<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");
Run Code Online (Sandbox Code Playgroud)

等等.然后在你的形式:

<form:select path="state">
    <form:options items="${states}" />
</form:select>
Run Code Online (Sandbox Code Playgroud)

这将呈现如下:

<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>
Run Code Online (Sandbox Code Playgroud)


Sno*_*irl 8

请参阅Spring 表单:select and form:options documentation.使用items,itemValueitemLabel根据需要.

<form:select path="myFormVariable">
    <form:option value="0" label="Select One" />
    <form:options items="${myCollection}" itemValue="propertyToUseAsValue" itemLabel="propertyToUseAsDisplay" />
</form:select>
Run Code Online (Sandbox Code Playgroud)

  • 我相信在使用Map时,不需要`itemValue`和`itemLabel`. (4认同)