Spring MVC数组接收测试

基本类型接收可以用数组,也可以用List,如下

  // 基本类型数组方法一
    @RequestMapping("list3")
    @ResponseBody
    public void TestListener4(@RequestParam(value = "ids[]") String[] ids){
        System.out.println(ids.length);
        for (int i = 0; i < ids.length; i++) {
            System.out.println(ids[i]);
        }
    }    
    // 基本类型数组方法二
    @RequestMapping("list4")
    @ResponseBody
    public void TestListener4(@RequestBody List<String> ids){
        for (int i = 0; i < ids.size(); i++) {
            System.out.println(ids.get(i));
        }
    }

引用类型只能用list或者封装实体的方法进行接收,数组接收不成功

    // list接收
    @RequestMapping("list1")
    @ResponseBody
    public void TestListener(@RequestBody List<Book> books){
        for(Book book:books){
            System.out.println(book.getId()+"-----"+book.getName());
        }
    }    
    // 封装实体类进行接收 BookList里有个成员变量List<Book> books
    @RequestMapping("list2")
    @ResponseBody
    public void TestListener2(@RequestBody BookList books){
        for(Book book:books.getBooks()){
            System.out.println(book.getId()+"-----"+book.getName());
        }
    }  

封装实体类还是比较实用的,在工作中会经常用到,面向对象的思维

前端ajax需要注意一点:

$.ajax({
        // headers必须添加,否则会报错
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/json'
        },
      type: 'POST',
      dataType: "json",
      data: JSON.stringify(data),
      url: base+'test/list4.do',
      success: function(){
          alert('success');
      }
    });

 

偶然发现,接收List还有这神操作,前端传送一个以逗号分隔的字符串,后台直接字符串接收即可

变量 columns = "列名1,列名2,列名3,列名4,列名5"

将此变量传到后台在Controller层用List<String> columns接收时,发现columns的大小为5,

值为:[列名1,列名2,列名3,列名4,列名5]

自动将字符串转化为数组了;

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值