个人资料
springmvc很好地封装了json的后台传输,避免了重复编码的过程。 看看常见的@ResponseBody和@RequestBody评论
添加依存关系
springmvc依赖于舒适的天鹅来处理json
org.codehaus .舒服的天鹅
舒适的天鹅酷睿ASL
1.9.11
org.codehaus .舒服的天鹅
舒适的天鹅-mapper-asl
1.9.11
xml配置
//不要忘记命名空间的配置
@响应主体
如果传输的是单层json对象,则可以在后台直接在@RequestParam中接收
$.Ajax({
类型: '开机自检',
dataType : 'json ',
URL : ' /测试请求body ',
数据: {
name: '韦德',
age:35
(,
success :功能(result ) {
}
);
@ request mapping (/test requestbody ) )
publicstringtestrequestbody (@ requestparammapmap ) {
system.out.println (映射; //{name=韦德,age=35}
返回索引';
}
如果传输了多层嵌套的json对象,此时会出现数据丢失问题
@ResponseBody成功解决了这个问题,并将前台传来的json转换为支持后台的对象
$.Ajax({
类型: '开机自检',
dataType : 'json ',
URL : ' /测试请求body ',
内容类型: ' application/JSON ',
data:JSON.stringify({ (
name: '韦德',
win : [ 2006、2012、2013 ],
age:35
()、
success :功能(result ) {
}
);
@ request mapping (/test requestbody ) )
publicstringtestrequestbody (@ requestbodymapmap )。
system.out.println (映射; //{name=韦德,win=[ 2006,2012,2013 ],age=35}
返回索引';
}
需要注意的是,必须在前台将内容类型指定为“应用程序/JSON”
同时,必须将json对象转换为字符串。 不转换就无法在后台识别
@响应主体
ajax要求返回json格式,但通常可以这样做
隐私保护对象JSON (httpservletresponseresponse,对象对象) {
string JSON=JSON.tojsonstring (object;
response.setcharacterencoding (utf-8 );
response.set content type (应用程序/JSON; charset=utf-8 ';
打印机写入器out=null;
try {
out=response.getWriter (;
out.write(JSON;
}catch(ioexceptione ) {
e .打印堆栈跟踪(;
} finally {
if (出局!=空) {
out.close (;
}
}
}
此时@ResponseBody很有用。 一个评论就能全部做好
$.Ajax({ ()
类型: '开机自检',
dataType : 'json ',
URL : ' /测试响应主体',
success :功能(result ) {
console.info(result );
}
);
@请求映射(/test response body ) )。
@响应主体
公共地图测试请求body
Map result=new HashMap (;
result.put('name ','韦德');
result.put('age ',35 );
返回结果;
}
前控制台输出
{
' age': 35,
' name': '韦德'
}
总结
在网上看一下好的流程图,总结一下吧
希望以上是正文的全部内容,对大家的学习有帮助。 另外,我希望你支持很多编剧。