javabean中属性包含对象数组的接收方式
2017-05-10 00:00
344 查看
1.javabean关键属性如下:
public class Notice extends Model { /** * */ private static final long serialVersionUID = -7780209130216322167L; /** * 在地图上打点所构成的对象数组 */ private NoticePoint[] noticePoints; public NoticePoint[] getNoticePoints() { return noticePoints; } public void setNoticePoints(NoticePoint[] noticePoints) { this.noticePoints = noticePoints; } }
2.控制层直接通过对象接收
@RestController @RequestMapping("/notice") public class NoticeController extends BasicController { @Resource private NoticeServiceI noticeService; /** * 功能描述:新增紧急通知 * 作者:温海金 * 最后更改时间 : 2017年4月18日 下午4:28:10 */ @PostMapping(value = "/add") public Json add(@RequestBody @Valid Notice notice, HttpSession session) { SysUser user = (SysUser)session.getAttribute(SysGlobalConstants.USER_SESSION_KEY); return setSimpleSuccess(noticeService.insertAndPublishNotice(notice, user)); } }
注意:在对象前面添加注解@RequestBody
3.前端ajax请求写法
var noticePointsArr=[]; //鼠标点击,获取经纬度坐标 function getLnglat(e) { var x = e.lnglat.getLng(); var y = e.lnglat.getLat(); if (openOrlock ) { addMarkerforMap(x,y); getPotion(x,y); } var NoticePoint = new Object(); NoticePoint.latitude=x; NoticePoint.longitude=y; noticePointsArr.push(NoticePoint) } //通知记录新增页面表单提交 function commitNoticeRecordAdd(){ var acontent_val=$("#acontent").val(); var anoticeRange_val=$('#anoticeRange').combobox('getValue'); var aimportantGrade_val=$('#aimportantGrade').combobox('getValue'); var arange_val=$('#arange').combobox('getValue'); var LinesName_val=$('#LinesName').val(); var params={ content:acontent_val, noticeRange:anoticeRange_val, importantGrade:aimportantGrade_val, distanceRange:arange_val, routeStr:LinesName_val, noticePoints:noticePointsArr, } $.ajax({ url : baseContextPath+'/notice/add', cache : false, type : 'post', data:JSON.stringify(params), contentType: "application/json; charset=utf-8", dataType : 'json', success : function(r) { if (r.success) { $.messager.alert('系统提示','添加成功','info',function(){ $("#noticeRecordAddForm")[0].reset(); $('#girdNoticeRecord').datagrid("reload"); publicClose(); }); } } }) };
注意:在ajax提交时配置属性contentType: "application/json; charset=utf-8",告诉服务器我是以json的形式进行数据传递的
4.前端提交的数据格式如下
![](https://static.oschina.net/uploads/space/2017/0510/160540_THD0_2988360.png)
5.后台接收到的数据对象
![](https://static.oschina.net/uploads/space/2017/0510/155407_w3sf_2988360.png)
相关文章推荐
- Spring JavaBean属性值的注入方式( 属性注入, 特殊字符注入 <![CDATA[ 带有特殊字符的值 ]]> , 构造器注入 )
- 如何使用java代码来访问managed-bean 的属性?
- javabean里包含SET元素时页面用struts标记库如何输出
- 3 Ant的 location属性专门设计用于以平台无关的方式包含文件系统路径(错误)
- 扩展commons dbutils的JavaBean转换方式
- javaBean=====jsp与javaBean中四种属性保存范围的区别
- BeanUtils和Cglib的Java Bean属性copy功能的性能比较
- Java中以POST的方式发送和接收数据
- Ant的 location属性专门设计用于以平台无关的方式包含文件系统路径
- [用js写java jvm]1.js解析java bean中的属性和基本类型
- 2.Spring bean常见属性的注入:属性编辑器,String->java.util.Date
- 简单的JAVABEAN属性复制方法!
- 关于javaBean属性乱码问题
- java调用存储过程的三种方式(包含通过hibernate调用)
- 2 Ant的 location属性专门设计用于以平台无关的方式包含文件系统路径
- 关于JavaBean属性设置
- 几种读取属性文件的JAVA实现方式
- 使用java反射机制获取javabean中的私有属性
- JavaBean内省的简单操作,剖析JavaBean属性设置的原理。。
- 定义一个点 内包含点的属性 设置 返回 等-----java