jsp 表单通过单选框传递参数,

jsp 表单传递单选框参数,当单选框没有选值的时候,点提交按钮,为什么得到参数的那个页面会报错???比如性别单选框男女,不选就会报错,数据库设置此列可空。
然而把单选框改成文本框后,不写入就没有错误

7个回答

你也可以把单选按钮改成select,应该就可以了.

跟数据库没关系的 这个是value默认值的问题 input value默认值是"" 而radio是null

yuehanshuo123
yhswyf 那这怎么解决呀
大约 2 年之前 回复

我猜数据库性别不是varchar 所以报错

yuehanshuo123
yhswyf 呵呵,你猜错了,就是varcher(2),我的意思是性别是单选框的时候不选的话就会报错,改成文本框就可以了,我感觉根本原因不在数据库那块
大约 2 年之前 回复

这个和数据库是没有关系的,是你得到参数的那个页面进行数据库存储的时候,不能够把空值或者null转换而报的错

1.数据库可以存null值,但jdbc呢?
例:
String str = null;
Admin a = new Admin();
a.setName(str);

在jdbc动态插入时:
rs.setString(1,a.getName());
编译期不报错,运行期会报错。这是因为这是jdbc的规定
插入String不能为null setInt同理

解决办法:
简单粗暴:
String str = null;
Admin a = new Admin();
a.setName(str);

rs.setObject(1,a.getName());
温柔点:
先判定吧

后台做下判空处理,应是后台处理的时候,获取不到对象 成null了 所以返回不了正确的结果,前端也就出错了

当值不存在或者为空时,是不能直接使用该变量的,或者用其他变量接收;
因为你不能拿空值和其他值进行转换和比较,后台接收也可能出错;你最好在提交时加一个空值判断,
如果是空,当为字符串类型时:赋值为'',如果是整形赋值为0;
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!