首页 > 解决方案 > Thymeleaf - 从选择列表中选择多个选项

问题描述

Here is my code 



<div class="panel-body">
                        <div id="pickList">
                            <div class="row">
                                <div class="col-sm-5">
                                    <select class="form-control pickListSelect pickListResult"
                                        style="width: 100%" multiple="multiple" id="existingAdminGroupMembers" th:field="*{adminGroup.members}">
                                        <!-- <option
                                            th:each="currentUser : ${add_user.adminGroup.currentMembers}"
                                            th:value="${currentUser}" th:text="${currentUser}"></option> -->
                                    </select>
                                </div>
                                <div class="col-sm-2 pickListButtons">
                                    <button class="pAdd btn btn-primary btn-sm">&gt;</button>
                                    <button class="pAddAll btn btn-primary btn-sm">&gt;&gt;</button>
                                    <button class="pRemove btn btn-primary btn-sm">&lt;</button>
                                    <button class="pRemoveAll btn btn-primary btn-sm">&lt;&lt;</button>
                                </div>
                                <div class="col-sm-5">
                                    <select class="form-control pickListSelect pickData"
                                        style="width: 100%" multiple="multiple" id="availableMembersForAdminGrp">
                                        <option
                                            th:each="adminUser : ${add_user.adminGroup.availableMembers}"
                                            th:value="${adminUser.userName}"
                                            th:text="${adminUser.userName}"></option>
                                        </select>
                                </div>
                            </div>
                        </div>

                    </div>


 public class Group {

private String groupName;
private List<User> availableMembers = new ArrayList<User>();
private List<String> currentMembers = new ArrayList<String>();
private String[] members;
}


    public class AddUser {
        private String clusterName;
        private String projectName;
        private Group adminGroup;
        private Group userGroup;
}



 Controller Class :

        model.addAttribute("add_user", addUser);

当我尝试使用 Post 方法将模型属性返回给控制器类时,我无法从 th:field adminGroup.members 检索pickListResult 的数据。你能告诉我上面代码中的问题是什么吗?

标签: thymeleaf

解决方案


假设您的模型属性从控制器端是这样的

model.addAttribute("add_user", group );

<select class="form-control pickListSelect pickData" style="width: 100%" multiple="multiple" id="admins" th:field="*{adminUser.userName}">
     <option th:each="adminUser : ${add_user.admins.members}"
        th:value="${adminUser.userName}"
        th:text="${adminUser.userName}"></option>
</select>

参考这篇文章了解更多详情


推荐阅读