SpringBoot和Thymeleaf多选下拉列表在编辑时未显示为选中状态

时间:2019-03-22 17:46:18

标签: java spring-boot thymeleaf jquery-select2 multipleselection

我的项目使用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";
    }

0 个答案:

没有答案