最近在维护之前用Struts2框架做的项目,然后在接收数组参数的时候遇到了一些问题,调试了很多方法最后再网上搜索资料找到了答案。
问题原型是,利用Jquery的ajax发送一个数组类型的请求参数,然后后端(Struts2框架)就一直接收不到参数
var codefiles = [];
$.each($("#filetext div"), function (i, obj) {
if ($(this).is(":visible")) {
var codefile = $(this).attr("id");
codefiles.push(codefile);
}
})
//发送给服务器
$.ajax({
url: "code_Saverep.action",
type: "POST",
data: {infos: info, codefiles: codefiles},
success: function () {
window.location.href = "code_project.action";
}
});
@Setter
private String[] codefiles;
然后这好像是jQuery的ajax与Struts2在这方面不兼容的问题,只需要给ajax添加一行参数即可
traditional: true,
成功