首页 > 解决方案 > 带有多个选择选项列表的表单绑定

问题描述

我正在尝试使用 Select2 jquery 库以多选方式绑定弹簧形式的模型,但所选选项始终为空,首先我使用可用选项正确显示表单,然后用户可以更新(添加或删除)我远程获取它们的其他选择一个ajax请求。

我正在使用下一个 dto 绑定表单数据:DTO:

@Setter
@Getter
public class MyDto{

    private List<Contact> agences;
    
    private Contact banque;
    

spring mvc 表单显示可用的用户选项:

...
  <form:select path="agences" items="${MyDto.agences}" itemValue="id" itemLabel="name" />
...

select2 初始化以格式化并使用 ajax 请求获取其他选项 Select 2 :

        $("#agences").select2({
            language: "fr",
            multiple: true,
            width: '100%',
            ajax: {
                url: "/fetchData.html",
                method: "POST",
                dataType: 'json',
                delay: 250,
                data: function (params) {
                    return {
                        query: params.term,
                        banque : $("#IdBanque").val()
                    };
                },
                processResults: function (data, params) {
                    return {
                        results: $.map(data, function (item) {
                            return {
                                "id" : item.id,
                                "text" : item.name,
                            }
                        })
                    };
                 }
            }
        });

控制器

    @RequestMapping(method = RequestMethod.POST, value = "/update")
    @ResponseBody
    public ResponseEntity<?> updateIntranet(@ModelAttribute(value = "myDto") myDto, BindingResult result, HttpServletRequest zRequest) throws JSONException {
   ....

问题是当我收到请求时我找不到选定的选项并且列表为空

我如何使用spring mvc绑定回包含元素列表的dto

标签: javajqueryspringspring-mvc

解决方案


推荐阅读