首页 > 解决方案 > 在 Spring MVC 中显示带有复选框的列表列表

问题描述

我正在 Spring MVC 中开发一个电子商务应用程序。我有一个场景,我必须显示供应商列表,并且对于每个供应商,我们都有一个表格中的类别列表。用户可以选择一组具有一组类别的供应商。

所以我必须在表格中显示带有复选框的供应商,并在该类别中显示复选框。

我可以用复选框显示供应商的名称和类别并将其映射到弹簧模式。但是如何与供应商一起显示复选框以便用户可以选择。一个类别可以映射到任意数量的供应商,用户可以选择任何一个。

<c:forEach items="${suppliers}" var="item">
            <div class="well">
                <label><s:message text="${item.username}" /></label>
                    <div id="categories" class="well">
                        <form:checkboxes items="${item.categories}" path="categories"
                                         itemValue="id" itemLabel="descriptions[0].name"
                                        delimiter="<br/>" />
                     </div>
            </div>
</c:forEach>

或者有没有更好的方法来做到这一点?

标签: javaspring-mvcjspuser-interfacejstl

解决方案


经过一番努力,我们使它成为工作代码。

 <c:forEach var="supplier" varStatus="statusSupplier" items="${suppliers}">
                                Supplier: <c:out value="${supplier.username}" /><br>
                      <div class="checkbox-list well">
                            <form:hidden path="supplierList[${statusSupplier.index}].id"  value="${supplier.id}" />

                            <c:forEach var="category" varStatus="statusCategory" items="${supplier.categories}">
                                <form:checkbox path="supplierList[${statusSupplier.index}].categories" 
                                                     value="${category.id}"/>

                                            <c:forEach var="desc" items="${category.descriptions}">
                                                    <c:out value="${desc.name}" /><br>
                                             </c:forEach>
                            </c:forEach>     
                      </div>
</c:forEach>

推荐阅读