我在发布 json 对象并将其与 Spring MVC 控制器中的 List 对象映射时遇到了麻烦。我有一个有几个复选框的表格。当用户检查和提交时,表单中的数据被反序列化,发送到 Spring MVC 控制器并映射到 List 类型对象。当用户选中两个或更多复选框时,它工作正常。但只有一个盒子,它没有。
当用户检查两个或更多时,数据将被反序列化,如下所示。
{"users":["137","138"]}
但是,当用户只选中一个复选框时,就像
{"users":"138"}
并返回 400 bad request 错误。
有什么解决方法或解决方案吗?
jQuery代码是:
$(document).ready(function() {
$('#groupusers').submit(function() {
var users = $(this).serializeObject();
$.postJSON("${context}/admin/groups/${group.seq}/users", users, function(result) {
...
});
return false;
});
形式是:
<form id="groupusers" method="post" accept-charset="UTF-8" action="/" class="edit_group">
...
<div id="users">
<c:forEach var="user" items="${users}">
<label><input id="users" name="users" type="checkbox" value="${user.seq}" /> ${user.firstName} ${user.lastName}</label><br>
</c:forEach>
</div>
</form>
映射到表单数据的列表对象:
public class AssignedUsers {
private List<Long> users;
...
}
提前致谢。