資源描述:
《json格式的輸入和輸出.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、json格式的輸入和輸出Springmvc處理json需要使用jackson的類庫,因此為支持json格式的輸入輸出需要先修改pom.xml增加jackson包的引用Xml代碼<!--json--><dependency><groupId>org.codehaus.jackson</groupId><artifactId>jackson-core-lgpl</artifactId><version>1.8.1</version></dependen
2、cy><dependency><groupId>org.codehaus.jackson</groupId><artifactId>jackson-mapper-lgpl</artifactId><version>1.8.1</version></dependency>先修改之前的helloworld.jsp,增加客戶端json格式的數(shù)據(jù)輸入。Javascript代碼varcfg={type:'POST',data:JSON.stringify({
3、userName:'winzip',password:'password',mobileNO:''}),dataType:'json',contentType:'application/json;charset=UTF-8',success:function(result){alert(result.success);}};functiondoTestJson(actionName){cfg.url=actionName;$.ajax(cfg);}根據(jù)前面的分析,在springmvc中解析輸入為json格式的數(shù)據(jù)有兩種方式1:使用@RequestB
4、ody來設(shè)置輸入Java代碼@RequestMapping("/json1")@ResponseBodypublicJsonResulttestJson1(@RequestBodyUseru){log.info("getjsoninputfromrequestbodyannotation");log.info(u.getUserName());returnnewJsonResult(true,"returnok");}2:使用HttpEntity來實(shí)現(xiàn)輸入綁定Java代碼@RequestMapping("/json2")publicResponse
5、Entity<JsonResult>testJson2(HttpEntity<User>u){log.info("getjsoninputfromHttpEntityannotation");log.info(u.getBody().getUserName());ResponseEntity<JsonResult>responseResult=newResponseEntity<JsonResult>(newJsonResult(true,"returnok"),HttpStatus.OK);retu
6、rnresponseResult;}Json格式的輸出也對(duì)應(yīng)有兩種方式1:使用@responseBody來設(shè)置輸出內(nèi)容為contextbody2:返回值設(shè)置為ResponseEntity<?>類型,以返回contextbody另外,第三種方式是使用ContentNegotiatingViewResolver來設(shè)置輸出為json格式,需要修改servletcontext配置文件如下Xml代碼<beanclass="org.springframework.web.servlet.view.ContentNegotiatingViewR
7、esolver"><propertyname="order"value="1"/><propertyname="mediaTypes"><map><entrykey="json"value="application/json"/></map></property><propertyname="defaultViews"><list><beanclass="org.springframework.web.servlet.view.json.Ma
8、ppingJacksonJsonView"/></list></property><p