Springmvc异步发送表单数据到JavaBean,并响应JSON文本返回 (14)

来源:互联网 发布:网络包工头接单网站 编辑:程序博客网 时间:2024/06/11 15:34

1) 提交表单后,将JavaBean信息以JSON文本形式返回到浏览器

·Emp实体类转换成json

·导入相关jar包jackson-core-asl-1.9.11.jar和jackson-mapper-asl-1.9.11.jar

·在springmvc.xml中配置

    <!-- 配适器  转换成json数据-->      <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">      <property name="messageConverters">         <list>         <!-- 就是这个类将Object转换成json数据-->      <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/>         </list>      </property>      </bean>


·bean2json.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <title>My JSP '11.jsp' starting page</title>    <script type="text/javascript" src="../js/jquery-1.8.2.js"></script></head>  <body><input type="button" value="Emp实体类转json"><p><!-- Emp实体类转json数据 --><script type="text/javascript">/* 选中第一个button */$(":button:first").click(function(backData,textStaut,ajax){var url = "${pageContext.request.contextPath}/emp/bean2json.action";var sendData = null;/* function(backData,textStaut,ajax) 这是一个回调函数*/$.post(url,sendData,function(backData,textStaut,ajax){alert(ajax.responseText);});});</script>  </body></html>
·Emp.java
public class Emp {private String username;private int sal;private Date hiredate;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public int getSal() {return sal;}public void setSal(int sal) {this.sal = sal;}public Date getHiredate() {return hiredate;}public void setHiredate(Date hiredate) {this.hiredate = hiredate;}@Overridepublic String toString() {return "Emp [username=" + username + ", sal=" + sal + "]";}}
·控制类EmpAction.java

@Controller@RequestMapping(value="/emp")public class EmpAction {/** * @ResponseBody Emp 表示让springmvc将Emp对象转成json格式的数据 * 在这里是返回一个json的字符串 * @return */@RequestMapping(value="/bean2json")public @ResponseBody Emp bean2json(){//这里模拟从数据库查出Emp emp = new Emp();emp.setUsername("哈哈");emp.setSal(30000);emp.setHiredate(new Date());return emp;}}
然后在bean2json.jsp页面上就会以json格式的数据返回


·List<Emp>转json数据

·bean2json.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <script type="text/javascript" src="../js/jquery-1.8.2.js"></script></head>  <body><input type="button" value="List<Emp>转json"><p><!--List<Emp>转json数据 --><script type="text/javascript">/* :button:eq(1):选中第一个button,0代表第一个 */$(":button:eq(1)").click(function(backData,textStaut,ajax){var url = "${pageContext.request.contextPath}/emp/listbean2json.action";var sendData = null;/* function(backData,textStaut,ajax) 这是一个回调函数*/$.post(url,sendData,function(backData,textStaut,ajax){alert(ajax.responseText);});});</script>  </body></html>

·EmpAction.java
@RequestMapping(value="/listbean2json")public @ResponseBody List<Emp> listbean2json(){List<Emp> empList = new ArrayList<Emp>();empList.add(new Emp("哈哈",20000,new Date()));empList.add(new Emp("嗯嗯",30000,new Date()));empList.add(new Emp("问问",40000,new Date()));return empList;}
返回的数据就是json的数据


·Map<String,Object>转json数据

·bean2json.jsp

<input type="button" value="Map<String,Object>转json"><p>

<!--Map<Emp>转json数据 --><script type="text/javascript">/* :button:eq(2):选中第一个button,0代表第一个 */$(":button:eq(2)").click(function(backData,textStaut,ajax){var url = "${pageContext.request.contextPath}/emp/map2json.action";var sendData = null;/* function(backData,textStaut,ajax) 这是一个回调函数*/$.post(url,sendData,function(backData,textStaut,ajax){alert(ajax.responseText);});});</script>
·EmpAction..java
@RequestMapping(value="/map2json")public @ResponseBody Map<String,Object> Map2json(){List<Emp> empList = new ArrayList<Emp>();empList.add(new Emp("哈哈",20000,new Date()));empList.add(new Emp("嗯嗯",30000,new Date()));empList.add(new Emp("问问",40000,new Date()));Map<String,Object> map = new LinkedHashMap<String, Object>();map.put("total",empList.size());map.put("rows",empList);return map;}



0 0