以后在SpringMvc接受参数的时候,尽量不要使用基本数据类型
问题抛出
Optional int parameter 'currpage' is present but cannot be translated into a null value due to being dec
大意是说 如果参数是非必须的,则会赋值为null,因此参数应该是一个object,它才能接受这个null值。
而上面代码参数currpage的类型 为 int,它接受不了null值。
解决方法:
将int改为对象类型Integer
详解
1、当 controller 方法中的参数类型为基本数据类型时。如果页面提交过来的数据为 null 或 "", 会出现数据转换的异常。
2、当 controller 方法中的参数类型为基本数据类型的包装类型时,页面传递过的数据可以为 "",null 或无该参数提交。当此方法执行时,该包装类型参数自动设为 null (包装类可以设为 null)。如果被其他方法调用可能抛空指针异常。比如 Controller 方法中存在一个 Long parentId 参数,如果页面没有提交该参数。则 parentId 自动被设置为 null。
注意,如果使用值为 null 的包装类型进行拆包时,会抛空指针异常。当将 parentId (null) 作为参数传递到某方法中时 (该方法中的参数为基本数据类型), 编译时不会抛异常。但是运行时,此包装类型的参数 (null) 会进行拆包,此时会抛空指针异常!此异常为运行时异常。当然,如果直接将此 parentId 与基本数据类型运算,同样也会抛空指针异常。
总结:
1、如果使用基本数据类型,无法接受 null 值和 "" 值。可能发生数据转换异常;
2、 如果使用包装类型,可以接受 null 值和 ""值,但是可能在参数传递时发生空指针异常。解决办法是在此变量在方法间传递时,全部使用包装类型。这样,此参数可以接收页面传递的"" 或 null 值。这样,调用此参数发生异常时,会在问题位置抛出。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfhcehf
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01