1.导入相关jar包:jackson-annotation-2.5.4.jar,jackson-core-2.5.4.jar,jackson-databind-2.5.4.jar.
2.spring-servlet.xml中相关配置:
//命名空间加入mvc:
xmlns:mvc="http://www.springframework.org/schema/mvc" //xsi:schemaLocation中补充:
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
<!-- springmvc4.0的配置方法-->
<!-- 启动注解驱动的mvc功能-->
<mvc:annotation-driven content-negotiation-manager="contentNegotiationManager"/>
<context:annotation-config/>
<bean id="contentNegotiationManager" class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">
<property name="favorPathExtension" value="false"></property>
</bean>
<bean id="jsonConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"></bean>
<bean id="stringConverter" class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
</list>
</property>
</bean>
<bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="jsonConverter"/>
<ref bean="stringConverter"/>
</list>
</property>
</bean>
3.编辑代码
单击btn,触发ajax,调用controller方法,返回json格式数据,并将其显示在页面
3.1 jsp代码表单部分:
<div id="showData">${msg}</div> <form id="paging">
page:<input type="text" name="page" id="page"/>
rows:<input type="text" name="rows" id="rows"/>
<input id="sub" type="button" value="submit"/>
</form>
3.2 js代码ajax部分:
$('#sub').click(function(){
alert("111");
$.ajax({
type:"POST",
url:"sysLogPaging.do",
data:{
"page":$("#page").val(),
"rows":$("#rows").val()
},
dataType:"json",
success:function(data){
var dataajax=JSON.stringify(data); //将json对象数据转为string类型,以便在页面输出
$("#showData").html(dataajax).show();
},
error:function(){
alert("出错");
}
});
});
3.3 java controller被调用部分代码:
@RequestMapping(value="/sysLogPaging", method=RequestMethod.POST)//分页调用函数,返回类型是JSONObject
@ResponseBody //必须写,标示传送流数据
public JSONObject getSystemLog_paging(String page,String rows){
toJson syslogjson = new toJson(); //自定义的tojson类,用于拼接项目所需的特定格式的json数据
return syslogjson.toJson(sysloglist,page,rows);
}
总结:1.所需jar包必须导入,关于配置,springmvc4.0和3.0有所差别,需要注意。
2.如果传送流数据(string,json等格式)controller中 @ResponseBody 不可省略。
3.要将ajax获取的json对象数据返回到页面相应位置,需调JSON.stringify();函数将对象转为string型再行show()。