Springmvc的一个问题一直被广大开发者所诟病,就是在List对象的转换上一直并不是特别好用,网上很多解决方法关于不同的表单提交方式这里就不多说了,只介绍下AJAX方式提交List对象的方法。
比如你要通过AJAX传递下面一段数据到controller:
var Json = [{'ID':1,'name','aaa'},{'ID':2,'bbb'},{'ID':3,'ccc'}]
如果像下面这样写肯定是无法传递到后端的:
// Js代码$.post("/test",Json,function(){ // Todo:});// java后台代码@ResponseBody@RequestMapPing("/test")public String test(@RequestParam(name = "users")List<User> users){// Todo:}
这样肯定会报错User找不到之类的,那么怎么解决呢?
我们大家都知道字符串的传递其实是最简单的,所以我们可以换个思路将Json对象转成Json字符串!
代码如下:
var Json = [{'ID':1,'ccc'}];var JsonStr = JsON.stringify(Json);// Js代码$.post("/test",{'usersJson':JsonStr},function(){ // Todo:});// java后台代码@ResponseBody@RequestMapPing("/test")public String test(@RequestParam(name = "usersJson") String usersJson){ Gson gson = new Gson(); List<User> users = gson.fromJson(usersJson,new Typetoken<ArrayList<User>>() { }.getType()); // Todo:}
这样就可以了,其实就是在java代码中将Json字符串转成List对象而已,但感觉这样的做法比其他的做法会简单些。
总结以上是内存溢出为你收集整理的Ajax异步提交List对象,SpringMvc如何接收?全部内容,希望文章能够帮你解决Ajax异步提交List对象,SpringMvc如何接收?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)