如何在 spring mvc 中将 DB selected 值设置为 select 标记

how to set DB selected value to select tag in spring mvc

嗨,我被这个问题困住了

<form:select path = "mapUser" name="userTypeV"   class="form-control" >
                                                <form:option value = "NONE" label = "-- Please Select One --"/>
                                                <form:options items = "${mapUser}"  />

它运行良好,但我对如何为该标签设置数据库选择值有疑问。

<form:select> 标记中,您必须将 bean 属性的名称放在路径中,这样才能保留所选项目的 ID。

form:options 标签中:

  1. items:包含可选项目列表的 bean 属性
  2. itemLabel:要在保管箱中显示的描述
  3. itemValue: 路径中要保存的字段(通常为id)

针对您的问题,可能的解决方案

解决方案1:如果MapUser是用户对象列表

class User{

 private String id; //  For e.g. C
 private String value; // For e.g. Consultant
}

List<User> users = new ArrayList<>();
users.add(new User("C", "Consultant"));
users.add(new User("G", "AdminUser"));
users.add(new User("L", "LogInUser"));
users.add(new User("S", "Staff"));

<form:select path="mapUser" class="form-control">
    <form:option value="NONE" label="--Please Select One--" />
    <form:options items="${mapUser}" itemLabel="value" itemValue="id" />
</form:select>

方案二:如果MapUser是Map

Map<String, String> users = new HashMap<Integer, String>();
users.put("C", "Consultant");
users.put("G", "AdminUser");
users.put("L", "LogInUser");
users.put("S", "Staff");

<form:select path="mapUser" class="form-control">
    <form:option value="NONE" label="--Please Select One--" />
    <form:options items="${mapUser}"/>
</form:select>