【发布时间】:2019-09-27 13:07:35
【问题描述】:
我需要向 Spring MVC 控制器提交一个 JS 形式的对象数组。所有属性名称都匹配。
@PostMapping("/addAdmin")
public void addAdmin(@RequestParam List<UserRolesGUIBean> userRolesGUIBeans)
{
// ...
}
JS:
var entries = [];
//...
// entries is an array of objects of the form {id: "..", role: ".."}
// verified to be correct before submission
$.ajax({
type : "post",
dataType : "json",
url : 'addAdmin',
data : JSON.stringify(entries)
})
豆子
public class UserRolesGUIBean implements Serializable {
private String id;
private String role;
// + Constructors (Empty + Full), Getters and setters
}
错误:
Required List parameter 'userRolesGUIBeans' is not present]
还尝试使用ModelAttribute 和ArrayList,
PostMapping("/addAdmin")
public void addAdmin(@ModelAttribute ArrayList<UserRolesGUIBean> userRolesGUIBeans) {
现在没有错误,但是列表是空的,没有收到数据。
尝试了所有方法——数组与列表、JSON.stringify(data) 或带有data {"entries" : entries}、RequestBody 的数据对象不起作用并给出 UTF 错误;和上面的RequestParam 也不起作用。
这对于一个简单的任务来说太复杂了。
【问题讨论】:
标签: ajax spring spring-boot spring-mvc