SpringMVC 与Ajax 实现数据交互

末蓝、 2021-11-09 12:56 457阅读 0赞

1 导入jQuery

20190802104236189.png

2 编写页面发送与接收json数据

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
  4. <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
  5. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  6. <html>
  7. <head>
  8. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  9. <title>Ajax数据交互</title>
  10. <script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.4.4.min.js"></script>
  11. <script type="text/javascript">
  12. $(function(){
  13. //params 是一个POJO类的json
  14. var params = '{"id": 1,"name": "测试商品","price": 99.9,"detail": "测试商品描述","pic": "123456.jpg"}';
  15. $.ajax({
  16. url : "${pageContext.request.contextPath }/json.action",
  17. data : params,
  18. contentType : "application/json;charset=UTF-8",//发送数据的格式
  19. type : "post",
  20. dataType : "json",//回调
  21. success : function(data){
  22. alert(data.name);
  23. }
  24. });
  25. });
  26. </script>
  27. </head>
  28. <body>
  29. </body>
  30. </html>

3 引入SpringMvc支持json的jar包

201908021110328.png

4 controller接收【ReqestBody】并解析数据并返回【ResponseBody】

@RequestBody注解实现接收http请求的json数据,将json数据转换为java对象进行绑定

@ResponseBody注解用于将Controller的方法返回的对象,通过springmvc提供的HttpMessageConverter接口转换为指定格式的数据如:json,xml等,通过Response响应给客户端

  1. package com.controller;
  2. import java.util.Date;
  3. import java.util.List;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.stereotype.Controller;
  6. import org.springframework.web.bind.annotation.RequestBody;
  7. import org.springframework.web.bind.annotation.RequestMapping;
  8. import org.springframework.web.bind.annotation.ResponseBody;
  9. import org.springframework.web.servlet.ModelAndView;
  10. import com.pojo.Items;
  11. import com.service.ItemService;
  12. @Controller
  13. public class ItemController {
  14. @Autowired
  15. private ItemService itemService;
  16. //接收与返回json数据
  17. @RequestMapping("json.action")
  18. public @ResponseBody Items json(@RequestBody Items items){
  19. return items;
  20. }
  21. }

20190802111931355.png

发表评论

表情:
评论列表 (有 0 条评论,457人围观)

还没有评论,来说两句吧...

相关阅读