关于extjs一个数据提交的问题,采用sync数据提交
不停歇的鱼 2017-03-02 07:20:05 困扰了很久的一个问题。是这样的,
前端用的extjs4.1,服务端用的spring mvc4+hibernate4+mysql,一个erp系统。关键代码如下:
1、模型定义
Ext.define('surm.model.test.TestModel', {
extend: 'Ext.data.Model',
fields: [{name:'id',type:'int'},
{name:'name',type:'string'},
{name:'age',type:'int'}
],
idProperty:'id',//这个属性一定要配置,否则getUpdateRecords获取不到记录
proxy : {
type : 'ajax',
api:
{
read:'test/listModels.do',
update:'test/updateModel.do',
create:'test/createModel.do',
destroy:'test/deleteModel.do'
},
reader:{
type:'json'
},
writer:
{
type:'json',
allowSingle:false//前台向服务器传送数组
}
});
2、服务端
@RequestMapping("updateModel")
public void updateModel(HttpServletResponse response,@RequestBody List<LinkedHashMap<String, Object>> maps) throws IOException
{
System.out.println("upateModel:"+maps.size()+" models are going to be updated!");
String msg = "{'success':true,'text':'成功更新TestModel!'}";
for(LinkedHashMap<String,Object> map:maps)
{
try {
TestModel model= (TestModel) JsonUtil.buildMap2Object(map, TestModel.class);
testModelService.update(model);
} catch (Exception e) {
// TODO Auto-generated catch block
msg = "{'success':false,'text':'更新TestModel失败:";
msg += (e.getClass().getSimpleName() + "'}");
e.printStackTrace();
}
}
response.setContentType("text/json;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println(msg);
out.flush();
out.close();
}
我的问题是,在前端gird内修改model后,调用了store.sync()提交服务端修改数据,为什么数据修改好后,在前端表格会自动添加了几笔记录?百度上找不到答案,请大神支招。