10

我有问题:

<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 >除了使用标签之外,我的问题有什么解决方案吗

提前致谢。抱歉,如果问题重复。如果是这样,请指出我原来的问题。

干杯,蒂霍米尔

PS:

我正在使用弹簧 3.1.0.RELEASE。

4

3 回答 3

24

您需要做的就是指定“元素”属性:

<form:checkboxes path="roles" element="span class='checkbox'" items="${roleSelections}" />

这会将每个“输入”标签和“标签”标签包含在“复选框”类的跨度中。

于 2013-02-12T11:23:44.523 回答
7

你可以试试这个:

<c:forEach var="item" items="${roleSelections}">
    <span class="checkbox"><form:checkbox path="roles" value="${item}"></span>
</c:forEach>
于 2012-06-19T10:09:15.237 回答
0

如果没有 forEach 循环,您可以尝试以下代码

例如定义css

<style type="text/css">
            div {
                padding-left: 10px;
                background-color: #00ae42;
            }
        </style>

然后在您的代码中删除复选框的“cssClass”属性使用“元素”属性。对于这个元素属性,您已经在上面指定了 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

于 2012-06-19T10:41:25.843 回答