Spring工程 使用复选选按钮

1.模型层要做什么?

答:在模型层声明一个数组,来存储数据
2.控制器层做什么?
a.提供数据选项
b.在显示视图前,通过model传递数据选项到视图层
c.视图层通过th:each循环遍历数据选项

示例

我们这以课程为例

模型层:我们要声明一个String类型的数组

1 @NotNull//course不能为空                                                                                                                                     

2 @Size(min = 1, max = 5, message = "选择课程")                                                                                                               

 private String[] course; 

控制器层:

a.提供数据选项 

 1 final static Map<String, String> CHECK_COURSE = Collections.unmodifiableMap(new LinkedHashMap<String, String>() {
 2         private static final long serialVersionUID = 1L;
 3 
 4         {
 5             put("Java程序设计", "java");
 6             put("Spring", "spring");
 7             put("MySQL", "mysql");
 8             put("HTML", "html");
 9         }
10     });

b.在显示视图前,通过model传递数据选项到视图层

   1 model.addAttribute("checkItems", CHECK_COURSE); 

c.视图层通过th:each循环遍历数据选项

 1 <div class="row">
 2                 <div class="col-md-3"><label for="Course">课程</label></div>
 3                 <div class="col-md-6">
 4                     <div th:each="item : ${checkItems}">
 5                         <input type="checkbox" th:value="${item.value}" th:field="*{course}" /> 
 6                         <i th:for="${#ids.prev('course')}" th:text="${item.key}"></i>
 7                     </div>
 8                 </div>
 9                 <div class="col-md-3"></div>
10             </div>

猜你喜欢

转载自www.cnblogs.com/hzyhx/p/11108155.html