SpringMVC-Json處理

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章