前面通过视频已经大致了解了Spring的工作原理与数据的接收与传送。
但视频中的只讲到了利用GET方式来接收数组,由于最近项目需求,数据量较多,可能会采用数组方式来进行输出的传递,因此,前几天开始研究这个,发现好坑,也没发现比较不错的方法。
到目前为止没有发现直接封装的方式,先提出这样一个解决方案。
/**
*
* desc:对数组的接收
*/
@RequestMapping("/toPerson3.do")
public String toPerson3(String[] name){
for(String result : name){
System.out.println(result);
}
return "jsp1/index";
}
测试方式多为GET方式:
http://localhost:8080/Servlet_push.do?name=a&name=b
这样spring的controller可以实现自动封装。
首先来定义下数组:
网上的大多数的jason数组是这种格式的:
{id:"1",name:"cehshi1"},{id:"2",name:"ceshi2"}
后来发现这跟我的需求是不同的,仔细想想又有几个需求会是这种格式的呢?
如果我们有person这个类,我们有好多个person实体,然后我们所想到的自然是封装到一个List<Person>里面,然后我们把这个list加入到map中,然后跟安卓或前端商量一下我们用什么协议来查询到这个数据呢?于是我们定义了一个key就假设是flag吧,那么问题来了,网上的所说的数组与我们的结构是不同的!!!!
区别就是:
其实我想要的效果在不知不觉中封装了两次,因此spring的controller是无法直接进行两次解析的,因此我需要自己手动解析,不过其实也很简单,就是在spring中再定义一个类,这个类中的成员对象就是一个list<person>,那么问题就解决了。
我的经历:
我所做的测试就是:
Map<String