yuehanshuo123
yhswyf
采纳率66.7%
2017-07-31 09:41 阅读 2.3k
已采纳

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

1

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

7条回答 默认 最新

  • 已采纳
    dcxy0 Q544471255 2017-07-31 15:32

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

    点赞 评论 复制链接分享
  • zxgmdzz zxgmdzz 2017-07-31 09:56

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

    点赞 1 评论 复制链接分享
  • wjssister wjssister 2017-07-31 09:45

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

    点赞 评论 复制链接分享
  • u014074697 张大教主 2017-07-31 09:51
    当值不存在或者为空时,是不能直接使用该变量的,或者用其他变量接收;
    因为你不能拿空值和其他值进行转换和比较,后台接收也可能出错;你最好在提交时加一个空值判断,
    如果是空,当为字符串类型时:赋值为'',如果是整形赋值为0;
    
    点赞 评论 复制链接分享
  • wal1314520 wal1314520 2017-07-31 13:55

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

    点赞 评论 复制链接分享
  • KeyDevil KeyDevil 2017-07-31 15:20

    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());
    温柔点:
    先判定吧

    点赞 评论 复制链接分享
  • usecf usecf 2017-08-01 00:46

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

    点赞 评论 复制链接分享

相关推荐