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

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

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

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

当值不存在或者为空时,是不能直接使用该变量的,或者用其他变量接收;
因为你不能拿空值和其他值进行转换和比较,后台接收也可能出错;你最好在提交时加一个空值判断,
如果是空,当为字符串类型时:赋值为'',如果是整形赋值为0;

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

这个和数据库是没有关系的,是你得到参数的那个页面进行数据库存储的时候,不能够把空值或者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了 所以返回不了正确的结果,前端也就出错了