1:使用HttpServletResponse来处理ajax请求(不要需要配置解析器)
//js
<script type="text/javascript">
$(function(){
$('#btn').click(function(){
$.post("ajax.do",function(data){
$("#content").html(data);
});
});
});
</script>
//页面
<body>
<input type="button" id="btn" value="ajax"/><br>
<div id="content"></div>
</body>
//后台
@Controller
public class AjaxController {
@RequestMapping("/ajax.do")
public void ajax(HttpServletRequest req,HttpServletResponse resp) throws IOException{
resp.getWriter().print("ajax data");
}
}
2: SpringMVC处理JSON数据
2.1导入Jar包
jackson-annotations-2.5.4.jar
jackson-core-2.5.4.jar
jackson-databind-2.5.4.jar
2.2配置Json转换器
<!-- json配置 -->
<!-- 用于将对象转换为 JSON -->
<bean id="stringConverter"
class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
</list>
</property>
</bean>
<bean id="jsonConverter"
class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"></bean>
<bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="stringConverter" />
<ref bean="jsonConverter" />
</list>
</property>
</bean>
2.3 Controller代码
<script type="text/javascript">
$(function(){
$('#btn').click(function(){
$.post("json.do",function(data){
var html="";
for(var i=0;i<data.length;i++){
html+="<tr><td>"+data[i].id+"</td><td>"+data[i].name+"</td><td>"+data[i].age+"</td></tr>"
}
$('#content').html(html);
});
});
});
</script>
//页面
<body>
<input type="button" id="btn" value="获取数据"/><br>
<table width="80%" align="center">
<tr>
<td>编号</td>
<td>姓名</td>
<td>年龄</td>
</tr>
<tbody id="content"></tbody>
</table>
</body>
@Controller
public class AjaxController {
@RequestMapping("/json.do")
@ResponseBody
//将会把返回值 转换为json对象
public List<User> json(){
List<User> list = new ArrayList<User>();
list.add(new User(1,"zhansan",22));
list.add(new User(2,"wangwu",21));
list.add(new User(3,"zhaosi",33));
list.add(new User(4,"wangdana",14));
return list;
}
}