spring3 mvc 接受json格式数据是转换报错.用注解方式@RequestBody
spring3 mvc 接受json格式数据是转换报错.用注解方式@RequestBody 将接受的json数据自动转换为java实体对象报错,转换不了. 点击新增 按钮 报错
org.codehaus.jackson.map.JsonMappingException: Unrecognized field "user" (Class com.springmvcext.pojo.Users), not marked as ignorable.
代码如下:
@Controller
@RequestMapping("/springMvcExt")
public class UserController {
private Logger logger = org.slf4j.LoggerFactory.getLogger(UserController.class);
@RequestMapping(value="/userManage",method=RequestMethod.POST)
@ResponseBody
public Map<String, Object> add(@RequestBody Users user) {
Map<String, Object> modelMap = new HashMap<String, Object>();
logger.info(" addUser: add ");
System.out.println("Users id is : "+user.getId());
System.out.println("Users name is : "+user.getUsername());
System.out.println("Users password is :"+user.getPassword());
modelMap.put("success", true);
return modelMap;
}
}
js 代码 ==========
Ext.onReady(function() {
// demoStroe
var demoStore = new Ext.data.JsonStore({
add : true,
remoteSort : true,
restful : true,
autoLoad : true,
idProperty : 'id',
root : 'user',
totalProperty : 'total',
fields : ['id', 'username', 'password'],
proxy : new Ext.data.HttpProxy({
restful : true,
url : 'springMvcExt/userManage'
// url : 'userManage'
}),
writer : new Ext.data.JsonWriter({
encode : false,
writeAllFields : true
}),
onCreate : function(values) {
var a = new this.recordType(values);
this.insert(0, a);
}
});
var demoGrid = new Ext.grid.GridPanel({
title : '测试demo',
id : 'demoGrid',
height : 150,
width : 400,
store : demoStore,
trackMouseOver : false,
disableSelection : true,
loadMask : true,
columns : [{
header : '编号',
dataIndex : 'id',
// hidden : true,
sortable : true
}, {
header : '名称',
dataIndex : 'username'
}, {
header : '密码',
dataIndex : 'password'
}],
viewConfig : {
forceFit : true
},
bbar : new Ext.PagingToolbar({
pageSize : 5,
store : demoStore,
displayInfo : true,
displayMsg : 'Displaying topics {0} - {1} of {2}',
emptyMsg : "No topics to display"
}),
sm : new Ext.grid.RowSelectionModel({
singleSelect : true,
listeners : {
rowselect : function(sm, row, rec) {
Ext.getCmp("d