2 u011314218 u011314218 于 2016.03.15 16:05 提问

input表单查询,不输入值时后台显示 数据类型转换错误,

前台代码:订单号:
后台代码:图片说明
原订单号为long型,后台转为字符串后执行的查询操作。
正常输入订单号查询时,可以查到,但是如果不输入值,直接点击查询会报错。好像是数据类型转换错误。不过我在Java后台不是已经直接做了转换的,怎么还是这样,求解答
严重: Servlet.service() for servlet [spring] in context with path [/xxcnew] threw exception [Request processing failed; nested exception is org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors
Field error in object 'order' on field 'oid': rejected value []; codes [typeMismatch.order.oid,typeMismatch.oid,typeMismatch.long,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [order.oid,oid]; arguments []; default message [oid]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'long' for property 'oid'; nested exception is java.lang.NumberFormatException: For input string: ""]] with root cause

3个回答

showbo
showbo   Ds   Rxr 2016.03.15 18:07
已采纳

你用该用正则判断是是否为数字,而不是简单的==""这种判断,要是客户端乱输入非数字你代码还不是一样报错

u011314218
u011314218 我现在就是在前台用js给输入框,提交为空时,赋值了0,看起来是很简陋,点击查询,没有值就会跳成0,再执行查询
接近 2 年之前 回复
u011314218
u011314218 回复无聊码农: 我不太清楚在后台怎么取这个输入框,并做正则判断?看这个是用easuyui的搜索框传值,然后在后台直接用Arraylist,封装为order对象,传给存储过程的
接近 2 年之前 回复
showbo
showbo 回复闪闪小莫: 不要相信前台提交的数据,后台一定要重新验证过,要不你的这个就是个bug
接近 2 年之前 回复
u011314218
u011314218 我想到了,可以用js现在前台做判断,空则直接给默认值,后台在正常处理,谢谢
接近 2 年之前 回复
u011314218
u011314218 我想允许它可以输入为空,那就是在后台用正则表达式进行判断,再处理吗?
接近 2 年之前 回复
u011314218
u011314218 我想允许它可以输入为空,那就是在后台用正则表达式进行判断,再处理吗?
接近 2 年之前 回复
u011314218
u011314218 我想允许它可以输入为空,那就是在后台用正则表达式进行判断,再处理吗?
接近 2 年之前 回复
u011314218
u011314218 我想允许它可以输入为空,那就是在后台用正则表达式进行判断,再处理吗?
接近 2 年之前 回复
u011314218
u011314218 我想允许它可以输入为空,那就是在后台用正则表达式进行判断,再处理吗?
接近 2 年之前 回复
u013772876
u013772876   2016.03.15 16:58

看下是否有oid属性;再看看oid__str取得的是什么__

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.03.15 17:32
   前台执行表单提交的时候判断这个参数是否有值,如果没有给个默认值确保后台不报异常。
u011314218
u011314218 谢谢,
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!