spring <form:checkboxes>标签和css类

Tih*_*iho 8 java jsp spring-mvc

我有问题:

<form:checkboxes path="roles" cssClass="checkbox" items="${roleSelections}" />
Run Code Online (Sandbox Code Playgroud)

如果在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>
Run Code Online (Sandbox Code Playgroud)

请注意,css类已添加到输入标记中.而是将css类添加到输入标记我需要将此类添加到span标记.有没有解决我的问题,除了使用< c:forEach >标签

提前致谢.对不起,如果问题重复.如果是这样,请指出原始问题.

干杯,蒂霍米尔

PS:

我正在使用spring 3.1.0.RELEASE.

小智 23

您需要做的就是指定'element'属性:

<form:checkboxes path="roles" element="span class='checkbox'" items="${roleSelections}" />
Run Code Online (Sandbox Code Playgroud)

这将使用"复选框"类将每个"input"标记和"label"标记括起来.

  • 这是更好的答案.很可能你想要在它自己的行中显示每个复选框.在这种情况下,属性element ="div"是你要找的:) (2认同)

dav*_*ooh 5

你可以试试这个:

<c:forEach var="item" items="${roleSelections}">
    <span class="checkbox"><form:checkbox path="roles" value="${item}"></span>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)