0

我有以下代码:

<form:select path="roles" items="${roleList}" itemLabel="roleType" itemValue="id" />

它生成的html如下:

<select id="roles" name="roles" multiple="multiple">
 <option value="1">ROLE_ADMIN</option>
 <option value="2">ROLE_HQ</option>
 <option value="3">ROLE_MASTER</option>
 <option value="4">ROLE_STATE</option>
 <option value="5">ROLE_CENTRE</option>
</select>

另外我不使用multiple可选属性。知道为什么生成的 HTML 包含"multiple="multiple"吗?

4

1 回答 1

0

只是一个猜测,但由于您将其映射到roles,并且角色可能是一个集合,因此将选择框设为多个是有意义的。如果不是多个,您将只能在集合中存储单个项目。并且标签将无法显示所选角色。

编辑:阅读标签的源代码后,看来我的猜测是正确的。见中的forceMultiple()方法SelectTag

于 2012-11-16T18:38:06.490 回答