1.模型层要做什么?
答:在模型层添加一个数组
2.控制器层做什么?
答:a.提供数据选项
b.在显示视图前,通过model传递数据选项到视图层
c.视图层通过th:each循环遍历数据选项
示例
我们以兴趣爱好为例
模型层:添加一个string类型的数组
1 //hobbies非空 2 @NotEmpty(message = "请选择兴趣爱好") 3 private String[] hobbies;
控制器层:
a.提供数据选项
1 final static Map<String, String> SELECT_HOBBIES = Collections.unmodifiableMap(new LinkedHashMap<String, String>() { 2 private static final long serialVersionUID = 1L; 3 { 4 put("玩游戏", "玩游戏"); 5 put("听歌", "听歌"); 6 put("睡觉", "睡觉"); 7 put("看电视", "看电视"); 8 } 9 });
b.在显示视图前,通过model传递数据选项到视图层
1 model.addAttribute("multipleItems", SELECT_HOBBIES);
c.视图层通过th:each循环遍历数据选项
1 <div class="row"> 2 <div class="col-md-3"><label for="hobbies">兴趣爱好</label></div> 3 <div class="col-md-6"> 4 <select th:field="*{hobbies}" multiple="multiple" size="3" class="form-control"> 5 <option th:each="item : ${multipleItems}" th:value="${item.value}" th:text="${item.key}" /> 6 </select> 7 </div> 8 <div class="col-md-3"></div> 9 </div>
原文:https://www.cnblogs.com/hzyhx/p/11108204.html