开发者社区> 问答> 正文

Spring MVC中的JavaBean 接入数据问题?报错

是这样子的

Book {
    private int id;
    // get
    // set
}

用这个实体类来接受参数的, 如果从页面传过来的是 http://xxx/xxx.html?id=2

这样是没问题的, 如果传 http://xxx/xxx.html?id[]=2 

就会报错, 我知道为什么报错, 我想知道怎么处理让它不理id[]=2这种形式的参数. 

不知道我表达的可清楚. 

展开
收起
爱吃鱼的程序员 2020-06-22 22:39:18 920 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    为什么会有id[]这种格式的传法?想知道一下回复<aclass='referer'target='_blank'>@独孤小败:相办法搞乱系统怎么都可以,出错了你让转向一个页面就行了用测试软件测试的,看看有什么Bug,然后它这么传的,然后报错了.

    只配置@RequestMapping("/xxx.html")

    不配置@RequestParam。id[]=2的这种格式没见过。

    刚才确实有一些理解错误了。当系统输入不合法参数的时候,报错是正常的。SpringMVC支持你配置如何处理出错信息。不过我还是不理解你这个不理是什么意思。

    回复<aclass='referer'target='_blank'>@独孤小败:那么就要看你的代码了。如果传入参数名对不上的话,那么这个参数就当null如何处理了。那么你就看你null的时候如何处理就是。比如说,我的javaBean里面有privateintid;这个字段,那么http://xxxx?id=2;就可以set进去了,但我如果是http://xxxx?idddd=2,那么javaBean里没有这个字段,不就是没做处理,就是没理它.

    如果要传数组的话可以提供你2种方法.

    1.自己组装合法的数组数据,然后传递到后端自己解析成数组

    2.如果要在url上传数组这样是不行的,只能是id[0]=1&id[1]=2


    Book{
      privateint[]ids;
      //get
      //set

    }

    http://xxx/xxx.html?ids[0]=1&ids[1]=2

    问的问题貌似不合逻辑,你传一个不合法的参数肯定会报错,如你不想看到这个错误,直接在web.xml里做个500错误的指向地址。

    2020-06-22 22:39:36
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载