1、Json包fastjson和Jackson
//TODO
jackson core asl 和 jackson mapper asl的区别,作用
2、spring mvc接收简单数据
2.1、接收int等基本类型的数据
jsp页面
$.ajax({
url: "${ctx}/StdManage/standardsDelete",
type: "POST",
data: "id=1969",
success:function(data){
if(data.success == "true") {
alert("return success");
}
}
});
controller接收数据
@RequestMapping("/standardsDelete")
@ResponseBody
public String standardsDelete(@RequestParam Integer id) { //这里id需要使用Integer类型
System.out.println("id=" + id);
return "delete";
}
2.2、接收json
JSON.stringify()将json对象转换为json字符串传递。
json对象:{"id":"1", "name": "Roger"}
json字符串:'{"id":"1", "name": "Roger"}'
注意:json字符串必须在里面使用双引号,外面使用单引号,可以试试两种方式传递的值的不同
使用JSON.stringify()就可以不考虑json字符串中的'和"问题,如果不使用这个就得注意json字符串的方式,如下:
data:'{"id":"1", "name": "Roger"}' 里面需要使用双引号
$.ajax({
url: "${ctx}/StdManage/testJson",
type: "POST",
dataType: "json",
contentType: "application/json",
data: JSON.stringify({'id':'1','name':'名字','standardEntities':[{'id':'1', 'entityName':'实体'}]}),
success:function(data){
if(data.success == "true") {
alert("return success");
}
}
});
controller
@RequestMapping("/testJson")
@ResponseBody
public void testJson(@RequestBody Standard standard) {
System.out.println(standard.getName());
System.out.println(standard.getStandardEntities().size());
}
3、Ajax接收SpringMVC的回传值
ajax
var standard = {"id":1, "entities":"entities", "possibleEntities":"possibleEntities"};
$.ajax({
url: "${ctx}/StdManage/testJson",
type: "POST",
dataType: "json",
contentType: "application/json",
data: JSON.stringify(standard),
success:function(data){
// 接收List
alert(data[0]);
// 接收Map
// alert(data.success);
}
});
controller
@RequestMapping("/testJson")
@ResponseBody
public List<String> testJson(@RequestBody StandardWithBLOBs standardWithBLOBs) {
System.out.println("testJson");
System.out.println(standardWithBLOBs.getId());
// Map<String, Object> map = new HashMap<>();
// map.put("success", true);
// return map;
List<String> list = new ArrayList<>();
list.add("hello");
list.add("word");
return list;
}
controller利用@Response回传一些响应信息,这里可以用Map或者List,也可以用其他一些JavaBean类型