我遇到了问题:
<form:checkboxes path="roles" cssClass="checkbox" items="${roleSelections}" />
如果在jsp中使用了上一行,则生成的html如下所示:
<span><input id="roles1" name="roles" class="checkbox" type="checkbox" value="ROLE_NEWUSER"/><label for="roles1">ROLE_NEWUSER</label></span>
<span><input id="roles2" name="roles" class="checkbox" type="checkbox" value="ROLE_USER" checked="checked"/><label for="roles2">ROLE_USER</label></span>
<span><input id="roles3" name="roles" class="checkbox" type="checkbox" value="ROLE_EDITOR"/><label for="roles3">ROLE_EDITOR</label></span>
<span><input id="roles4" name="roles" class="checkbox" type="checkbox" value="ROLE_ADMINISTRATOR"/><label for="roles4">ROLE_ADMINISTRATOR</label></span>
请注意,css类已添加到输入标记中。而是将css类添加到输入标记我需要将此类添加到span标记。我的问题是否有任何解决方案,然后使用< c:forEach >
标记
提前致谢。对不起,如果问题重复。如果是这样,请指出原始问题。
干杯, 蒂霍米尔
P.S:
我正在使用spring 3.1.0.RELEASE。
答案 0 :(得分:23)
您需要做的就是指定'element'属性:
<form:checkboxes path="roles" element="span class='checkbox'" items="${roleSelections}" />
这将使用“复选框”类将每个“input”标记和“label”标记括起来。
答案 1 :(得分:5)
你可以试试这个:
<c:forEach var="item" items="${roleSelections}">
<span class="checkbox"><form:checkbox path="roles" value="${item}"></span>
</c:forEach>
答案 2 :(得分:0)
如果没有forEach循环,您可以尝试下面的代码
定义css例如
<style type="text/css">
div {
padding-left: 10px;
background-color: #00ae42;
}
</style>
然后在你的代码中删除复选框的“cssClass”属性使用“element”属性。对于此元素属性,您已经在上面指定了css。 实施例
<form:checkboxes path="roles" element="div" items="${roleSelections}" />
请参阅以下链接获取Spring MVC复选框属性 http://static.springsource.org/spring/docs/2.0.x/reference/spring-form.tld.html#spring-form.tld.checkboxes