查询有参数内容带“%”,getParaToInt报错

如果查询方法有查询内容带有“%”,如查询“75%的酒精”,那么后台方法有需要取值Integer的参数(不需要是“75%的酒精”参数字段),就会报错。

如图:QQ截图20171121151623.png

实际指向报错行是blob.png

明显不是查询字段的内容取值,而是分页的参数取值。

经测试发现:如果后台的Controller方法没有getParaToInt取值,都是getPara的话就没有问题。

波总:求解决方案。。。

评论区

lyh061619

2017-11-22 00:16

getParaToInt本来就是只处理int类型的数据,你这个75%明显就不是int类型当然报错啦,这个没有什么可纠结的,一个不是相同的数据类型肯定不能强行对号入座的呢。

lyh061619

2017-11-22 00:16

另外getPara这个是通用的数据接收方法,建议你用这个就好了。

小螃蟹

2017-11-22 14:05

@lyh061619 你没明白我的意思,“75%”不是要取值的int类型字段,而是另外的一个String数据,但是因为有%影响到了int参数的取值。

默写

2017-11-22 17:20

在前端发请求前把参数encode下,要么就前后端约定替换下

lyh061619

2017-11-22 18:20

@小螃蟹 那你用getPara()获取后,自己后台一个正则不就得了嘛

lyh061619

2017-11-22 18:24

@小螃蟹 你上面就说用getParaToInt这个有问题,负责任的告诉你getParaToInt()这个设计就是接收纯int类型的参数,你想取如"75%"就只得用getPara()这个来拿。

热门反馈

扫码入社