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;
}
}