Spring MVC Json数据传递
json是一种常见的传递格式,是一种键值对应的格式。并且数据大小会比较小,方便传递。所以在开发中经常会用到json。
首先看一下json的格式:
{key1:value1,key2:value2}
每一个建对应一个值,每个键值对之间用逗号连接。并且最后一个键值对之后没有逗号,整体需要有大括号括起来。
SpringMVC的前台获取json代码:
annotationTest.jsp<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'annotationTest.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> <script type="text/javascript" src="/Spring6Annotation3/js/jquery-1.7.js"></script> </head> <script type="text/javascript"> $(document).ready(function(){ $("#submit").click( function(){ var username = $("#username").attr("value"); var userage = $("#userage").attr("value"); var userJson={name:username,age:userage};//构造json数据 $.ajax({ url:"/Spring6Annotation3/user/data/showInfoJson", type:"post", data:userJson, success: function(data){ alert("name===>"+data.username+"age"+data.userage); }//由此我们可以看出,jquary中的ajax也是json格式的 }); }); }); </script> <body> <h1>json</h1> <br/> <form action=""> 姓名:<input type="text" id="username" name="name"/> 年龄:<input type="text" id="userage" name="age"/> <input type="button" id="submit" value="提交"/> </form> </body> </html> 在controller中 @RequestMapping("/showInfoJson") public void showInfoJson(User user,HttpServletRequest request,HttpServletResponse response){ String result = "{\"username\":\""+user.getName()+"\",\"userage\":\""+user.getAge()+"\"}";//user接到前台传到的数据,并拼接成新的json对象 response.setContentType("application/json");//设置response的传输格式为json System.out.println(result); try { PrintWriter out = response.getWriter(); out.write(result)//给页面上传输json对象 } catch (IOException e) { e.printStackTrace(); } }