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