SPRING MVC返回JSON数据


用到SPRING的 MappingJacksonJsonView 视图,需要jackson.jar包支持,下载地址http://wiki.fasterxml.com/JacksonDownload

一个测试的例子,配置控制器TestJsonController和视图解析器TestViewResolver:

<bean id="viewViewResolver" class="com.ll19.mvc.test.view.resolver.TestViewResolver"> 		<property name="order" value="1"/> 	</bean> 	<bean id="testJsonController" class="com.ll19.mvc.test.control.TestJsonController"> 		<property name="prefix" value="/json"/> 	</bean>

具体代码如下:

package  com.ll19.mvc.test.control;   
import  javax.servlet.http.HttpServletRequest;
 
import  javax.servlet.http.HttpServletResponse;   
import  org.springframework.web.servlet.ModelAndView;
 
import  org.springframework.web.servlet.mvc.Controller;  
 
import  com.ll19.mvc.test.bean.TestBean;   
/**   * 测试控制器  *   *  @author  <a href=" http://www.LL19.com/ ">LL19.com</a>   */  
public   class  TestJsonController  implements  Controller {       
/**       * 前缀       */      

private  String prefix;       
public  String getPrefix() {         
return  prefix;     }       
public   void  setPrefix(String prefix) {         
this .prefix  =  prefix;     }       
public  ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)  throws  Exception {           
TestBean testBean 
=   new  TestBean();         
testBean.setDctime(
" time " );         
testBean.setDid(
1L );         
testBean.setDname(
" jsonView测试 " );         
ModelAndView mav 
=   new  ModelAndView( " jsonView " );         
mav.addObject(testBean);           
return  mav;     }   
}
 

TestBean为一个测试BEAN,返回ModelAndView后视图解析器TestViewResolver直接返回MappingJacksonJsonView视图即可:

public View resolveViewName(String viewName, Locale locale) throws Exception { 		if (viewName.equals("jsonView")) { 			return new MappingJacksonJsonView(); 		} 		return null; 	}

MappingJacksonJsonView视图便会根据你添加的BEAN对象,自动转换为JSON格式,在例如使用AJAX获取数据后,即可直接用JS操作返回的JSON数据。

测试结果:{"testBean":{"did":1,"dname":"jsonView测试","dctime":"time"}}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM