在我的应用程序中,我的表单中有一个下拉列表,我想从User中获取该下拉列表的一个值并将其存储在数据库中。我是Spring开发的新手,我不知道MySql中的下拉列表的数据类型是什么,以及我应该如何配置控制器和实体类?
我在MySql数据库中使用过ENUM。
`domain` enum('Web-Development', 'Software Development','Application Development') DEFAULT NULL,
答案 0 :(得分:0)
对于下拉菜单,您可以遵循以下方法:
1]创建一个查找表,您可以在其中定义所有consatnt及其关联的类型和ID,如此链接中所述:
2]您的下拉列表将在查找表中显示这些值,一旦在下拉列表中选择了一个值,它们的关联ID将在后端用于存储所选值,可用于存储在数据库中而不是实际值因为此ID应该是唯一的,并且可用于DB CRUD操作。
答案 1 :(得分:0)
这可能会有所帮助,我已经解决了临时基础或小规模开发的问题。我所要做的就是,将MySql中的数据类型从ENUM
更改为VARCHAR(45)
。 (ENUM
也可以正常工作)。然后,我已经在控制器类中手动添加了下拉值。
@ModelAttribute("domainList")
public List<String> getCountryList() {
List<String> domainList = new ArrayList<String>();
domainList.add("Web-Development");
domainList.add("Software Development");
domainList.add("Application Development");
return domainList;
}
在我的JSP文件中,我已将此文件命名为<form:select>, <form:option>, and <form:options>
<td>
<form:select path="domain">
<form:option value="NONE" label="Select" />
<form:options items="${domainList}" />
</form:select>
</td>
对于实体类中的数据绑定,我刚刚使用了返回类型为String
并生成了getters
,setters
和toString
。
这就是我所做的,正在工作。编码愉快...