最近网站偶尔报如下错误日志,现象就是用户在前台无法提交订单,页面假死,
Exception occurred during processing request: No result defined for action cn.com.xxxx.action.shop.xxxxxx and result inp
ut No result defined for action cn.com.xxxx.action.shop.xxxxxxx and result input
ut No result defined for action cn.com.xxxx.action.shop.xxxxxxx and result input
经分析主要原因是在提交action的时候,其对应的属性值为空或错误值导致数据类型转换失败进而导致structs2的默认拦截器报错,找不到input的Result,不能把错误信息返回。
问题的直接原因是action属性值丢失,解决方案主要有以下几种:
1、给属性赋默认值
2、重新定义一个action,去掉空值的成员变量
3、添加input的result,并在页面给出提示
个人倾向于方案3,暂时通过前台提示用户错误,需重新提交信息,后台通过打出详细日志定位属性值丢失的原因,再顺藤摸瓜从根上找原因,一旦原因定位以后就可以从后台模拟用户行为再次提交数据信息,而不需要返回前台由用户再次提交,提升用户体验。
©️公众号:思考者文刀
- 上一篇: 司马懿和林彪的相似之处
- 下一篇: 余额宝-如何从传统架构演变为云计算架构
评论