spring <form:checkboxes> tag和css class </form:checkboxes>

时间:2012-06-19 09:20:09

标签: java jsp spring-mvc

我遇到了问题:

<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。

3 个答案:

答案 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