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;
}
@Override
public 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;
}