Springmvc ResponseBody響應json數(shù)據(jù)實現(xiàn)過程
該注解用于將 Controller 的方法返回的對象,通過 HttpMessageConverter 接口轉換為指定格式的數(shù)據(jù)如:json,xml 等,通過 Response 響應給客戶端
示例
需求:使用@ResponseBody 注解實現(xiàn)將 controller 方法返回對象轉換為 json 響應給客戶端。
前置知識點:Springmvc 默認用 MappingJacksonHttpMessageConverter 對json數(shù)據(jù)進行轉換,需要加入jackson 的包。
注:2.7.0以下的版本用不了
jsp代碼
<!-- 測試異步請求 -->
<input type="button" value="測試ajax請求json和響應json" id="testJson"/>
<script type="text/javascript"src="${pageContext.request.contextPath}/js/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$("#testJson").click(function(){
$.ajax({
type:"post",
url:"${pageContext.request.contextPath}/testResponseJson",
contentType:"application/json;charset=utf-8",
data:JSON.stringify({"id":1,"name":"test","money":999.0}),
dataType:"json",
success:function(data){
alert(data);
}
});
});
})
</script>
控制器代碼
/**
* 響應 json 數(shù)據(jù)的控制器
* @author 黑馬程序員
* @Company http://www.ithiema.com
* @Version 1.0
*/
@Controller("jsonController")
public class JsonController {
/**
* 測試響應 json 數(shù)據(jù)
*/
@RequestMapping("/testResponseJson")
public @ResponseBody Account testResponseJson(@RequestBody Account account) {
System.out.println("異步請求:"+account);
return account;
}
}
配置json轉換器
如果不使用注解驅動<mvc:annotation-driven />,就需要給處理器適配器配置json轉換器
在springmvc.xml配置文件中,給處理器適配器加入json轉換器:
<!--處理器適配器 --> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"> <property name="messageConverters"> <list> <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean> </list> </property> </bean>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- SpringMVC集成Web與MVC執(zhí)行流程和數(shù)據(jù)響應及交互相關介紹全面總結
- SpringMvc請求處理參數(shù)?和?響應數(shù)據(jù)處理的示例詳解
- SpringMVC數(shù)據(jù)頁響應ModelAndView實現(xiàn)頁面跳轉
- Java SpringMVC數(shù)據(jù)響應超詳細講解
- SpringMVC中Controller類數(shù)據(jù)響應的方法
- SpringMvc響應數(shù)據(jù)及結果視圖實現(xiàn)代碼
- SpringMVC接收與響應json數(shù)據(jù)的幾種方式
- SpringMVC數(shù)據(jù)響應詳細介紹
相關文章
springboot跨域訪問cros與@CrossOrigin注解詳析
這篇文章主要給大家介紹了關于springboot跨域訪問cros與@CrossOrigin注解的相關資料,跨域是指不同域名之間相互訪問,它是瀏覽器的同源策略造成的,是瀏覽器對JavaScript施加的安全限制,需要的朋友可以參考下2023-12-12
Java中JSONObject和Map<String,?Object>的轉換方法
平時對接口時,經(jīng)常遇到json字符串和map對象之間的交互,這篇文章主要給大家介紹了關于Java中JSONObject和Map<String,?Object>的轉換方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-07-07

