原标题:SpringMVC接收Form表单中的数组数据
昨天学校项目里要做个功能,是要在前端定义一条折线端,然后提交到后台存进数据库里。
折线段的话其实就是不定数量的一些点坐标,第一反应就是用Form提交一个Point 的List,后台也用List接收,然而却发现SpringMVC 不能直接接收List,需要做一点变动。
学校的代码不好贴出来,我单独写个例子演示一下
前端页面这样写
Title实体类
public class Point {
private Integer x;
private Integer y;
public Integer getX() {
return x;
}
public void setX(Integer x) {
this.x = x;
}
public Integer getY() {
return y;
}
public void setY(Integer y) {
this.y = y;
}
}
实体类集合封装类,这里是个技巧了,SpringMVC不能用List接收,但可以用包装了List成员的对象接收
public class PointModel {
private List points;
public List getPoints() {
return points;
}
public void setPoints(List points) {
this.points = points;
}
}
控制器,就跟平常没啥两样了
@Controller
public class PointController {
@PostMapping("/test")
@ResponseBody
public String testPost(PointModel pointModel){
System.out.println(JSON.toJSONString(pointModel));
return JSON.toJSONString(pointModel);
}
@GetMapping("/test")
public String testGet(Model model){
return "test";
}
}
我们先用PostMan 测试一下后台好不好用
开启服务
POST
可以看到提交成功了,form-data 和x-www-form-urlencoded 都是可以的
我们再用页面POST一下试试
返回的结果与PostMan一致,这里我浏览器上装了JSON-handle,所以是这种格式
下次需要提交数组类型的数据就可以这么做啦,做个笔记。返回搜狐,查看更多
责任编辑: