springmvc @RequestParam 接收数组

我们知道, 使用@ReqeustParam 可以很方便地获取到 queryString 以及 form 形式提交的数据,
通常来说, 我们只要使 java 中的变量名跟提交过来的变量名保持一致, spring 就可以帮我们自动装配了, 特别方便。
但这种方便是建立在单个值的基础上的
如果我们传递的变量是个数组的话,怎么办呢

方式1. 前端将数组转成字符串,每个元素之间用「逗号」分隔. 比如

  books=['1','2','3'];
  var booksStr = books.join(); // 变成逗号分隔的字符串

然后后台正常用String接收, 再split成一个数组

   String[] books = booksStr.split(",");

方式2. 前端参数是字符串, 后端设置 @ReqeustParam 中的 value, 比如:

@RequestParam(value = "books[]",required = false) List<String> books

其实这个比较有趣,实际上浏览器传递数组的时候,名称正好就是变量名[]的形式,但由于java中的变量名不能带[]这种符号,所以只能在value中声明一下了

参数带数组截图

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容