如何在Spring MVC中使用@RequestParam接收LIST类型的输入?
如何在Spring MVC中使用@RequestParam接收LIST类型的输入?
嗨,
我想在我的请求参数中使用一个数据列表,这里的"personIdCollection"是一个列表的集合,但是当我用Postman发送请求时,我得到了一个错误的请求。
这是我的代码。
控制器:
@PostMapping("/face-tag-data") public String getFaceTaggedData(@RequestParam String projectId, @RequestParam ListpersonIdCollection) { return null; }
这是我的ajax请求:
var data = {}; data.personIdCollection = personIdCollection; data.projectId = $("#projectId").val(); $.ajax({ type: 'POST', url: contextPath + '/face-tag-data', data: data, success: function(resp) { console.log(resp); }, failure: function(resp) { console.log(resp); } });
问题的原因是想要在Spring MVC中使用@RequestParam来接收一个列表类型的输入。解决方法是定义一个包含列表的自定义类型,并在页面上将变量定义为数组,然后在控制器中将其作为列表类型接收。代码示例如下:
控制器代码:
(value="addSingleArticles", method=RequestMethod.POST) public String addSingleArticles( ArticleSubmitData pupilPackageData, HttpServletRequest request) { ... // 对数据进行处理 }
自定义类型代码:
public class ArticleSubmitData { private ListsingleArticles; private List packageArticle; private List popupArticles; ... // getter & setter, inner classes etc. }
页面代码:
... ...
在页面上将变量定义为数组,并在控制器中将其作为列表类型接收,这样就可以解决使用@RequestParam接收列表类型输入的问题。