我有以下代码:
<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"
?
答案 0 :(得分:0)
只是一个猜测,但是因为你在roles
上映射它,并且因为角色可能是一个集合,所以将选择框设置为多个是有意义的。如果它不是多个,则只能在集合中存储单个项目。标签将无法显示所选角色。
编辑:在阅读标签的源代码后,看来我的猜测是正确的。请参阅forceMultiple()
中的SelectTag
方法。