我的项目使用Java 8,Springboot 2和Thymeleaf3。我想在表单中添加一个多选下拉菜单。我尝试了几种不同的方式,例如尝试使用Select2,并尝试仅通过Thymeleaf和Springboot手动进行操作。...最终,我使select2起作用并使其成为下拉视图。我可以使用它的功能,但是无法将选择内容显示在可编辑视图中。所有选项都进入SQL数据库,如果只有一个选项,它将显示在编辑页面上,但是如果选择了多个选项,它将不会在编辑代理页面上显示任何内容。
如果我更改为th:name而不是th:field,则可以看到所选的选项,但是现在我也无法保存任何选项...
我没有收到任何错误,所以我不确定为什么这不起作用。知道我需要做什么才能使编辑视图显示所有选中的选项吗?是某种有约束力的问题吗?
<select id="brokerTargetIndustries" th:field="*{brokerTargetIndustries}" multiple="multiple" class="text-left form-control" >
<option value="Social Service WC" th:selected="${broker!=null and broker!=null and broker.targetIndustries!=null and #strings.contains(broker.targetIndustries,'Social Service WC')}">Social Service WC</option>
<option value="Propane Fuel Dealers" selected="${broker!=null and broker.targetIndustries!=null and #strings.contains(broker.targetIndustries,'Propane Fuel Dealers')}">Propane/Fuel Dealers</option>
<option value="Building Services PKG" selected="${broker!=null and broker.targetIndustries!=null and #strings.contains(broker.targetIndustries,'Building Services PKG')}">Building Services PKG</option>
<option value="Contractor WC" selected="${broker!=null and broker.targetIndustries!=null and #strings.contains(broker.targetIndustries,'Contractor WC')}">Contractor WC</option>
</select>
这是编辑的控制器:
@RequestMapping(value="/edit/{id}")
public String editBroker(Model model,@PathVariable("id") Long id, Broker broker){
Broker existing = brokerRepository.findById(id).get();
model.addAttribute("broker",existing);
return "brokerProfile";
}