mvc-ajax(从后台取数据显示到页面上)

<--------------------------------------------------------------------------------------->

springMVC配置全都省略了!

但是使用json必须导入Jackson API:

  <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>2.2.3</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>2.2.3</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.2.3</version>
    </dependency>

1.添加控制器:


@Controller
@RequestMapping("/demo")
public class DemoController {

    @RequestMapping("/ary.do")
    @ResponseBody
    //ResponseBody会自动的将返回结果中JavaBean转换
    //为JSON字符串发送到浏览器客户端, 底层用了
    // Jackson API
    public Object test(){
        String[] ary = {"熊三","熊二","熊大"};
        return ary;
    }

    @RequestMapping("/bean.do")
    @ResponseBody
    //将JavaBean作为返回值,ResponseBody注解将Bean
    //转换为 Json 字符串发送到浏览器端
    public Object bean(){
        return new Foo(8,"Tom", 34.6);
    }

    @RequestMapping("/list.do")
    @ResponseBody
    public Object list(){
        List<Foo> list = new ArrayList<Foo>();
        list.add(new Foo(1, "Tom", 3.4));
        list.add(new Foo(2, "Jerry", 3.4));
        list.add(new Foo(3, "Andy", 3.5));
        list.add(new Foo(4, "Wang", 3.2));
        return list;
    }

    @RequestMapping("/map.do")
    @ResponseBody
    public Object map(){
        Map<String, Object> map = 
                new LinkedHashMap<String, Object>();
        map.put("age", 20);
        map.put("name", "Andy");
        map.put("price", 123.6);
        return map;
    }


    @RequestMapping("/list2.do")
    @ResponseBody
    public Object list2(){
        List<String> list = 
                new ArrayList<String>();
        list.add("熊三");
        list.add("熊大");
        list.add("熊二");
        return list;
    }

    //List<Map> 
    @RequestMapping("/map2.do")
    @ResponseBody
    public Object map2(){
        List<Map<String, Object>> list=
            new ArrayList<Map<String,Object>>();
        Map<String, Object> map = 
            new LinkedHashMap<String,Object>();
        map.put("age", 5);
        map.put("name", "Tom");
        map.put("price", 4.5);
        list.add(map);
        map=new LinkedHashMap<String,Object>();
        map.put("age", 6);
        map.put("name", "Jerry");
        map.put("price", 4.5);
        list.add(map);
        map=new LinkedHashMap<String,Object>();
        map.put("age", 8);
        map.put("name", "Andy");
        map.put("price", 5.5);
        list.add(map);
        return list;
    }
}

2.导入jQuery:jQuery-1.4.3.js

开发静态页面Html:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
	<title> new demo </title>
	<meta charset="UTF-8">
	<script type="text/javascript" src="js/jquery-1.4.3.js"></script>
  	<script type="text/javascript">
		$(function(){
			$('#ary-btn').click(aryDemo);
			$('#map2-btn').click(map2Demo);
			$('#map-btn').click(mapDemo);
	});
		function aryDemo(){
			//console.log('Click');
			$.ajax({
				url:'demo/ary.do',
				type:'get',
				dataType:'json',
				success:function(ary){
					console.log(ary);
					for(var i = 0;i<ary.length;i++){
						$('#ary-result').append(ary[i]);
					}
				},	
				error:function(){
					alert('错误');
				}
			});
		}
		function map2Demo(){
			//console.log('click');
			$.ajax({
				url:'demo/map2.do',
				type:'get',
				dataType:'josn',
				success:function(ary){
					console.log(ary);
					for(var i=0;i<ary.length;i++){
						var obj=ary[i];
						//obj = {age:4,name:Tom,price:.4.5};
						$('#map2-result').append(obj.age+','+obj.name+','+obj.price+'<br>');
					}
				},
				error:function(){
					alert('错误');
				}
			});
    		}
		function mapDemo(){
			//console.log('Click');
			$.ajax({
				url:'demo/map.do',
				type:'get',
				dataType:'json',
				success:function(obj){
					console.log(obj);
					$('#map-result').append(obj.age+','+obj.name+','+obj.price+'<br>');
				},
				error:function(){alert('错误');}
			});
		}
	</script>
 </head>

 <body>
  	
    <!-- webapp/demo.html -->
    <h1>Spring MVC AJAX</h1>
    <h2>获取数组数据</h2>
    <input type="button" id="ary-btn" 
        value="数组">
    <p id="ary-result"></p>

    <h2>获取List<Map>数据</h2>
    <input type="button" id="map2-btn" 
        value="Map2">
    <p id="map2-result"></p>

    <h2>获取Map数据</h2>
    <input type="button" id="map-btn" 
        value="Map">
    <p id="map-result"></p>

</body></html>



  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值