哈赛给丶 2016-02-06 14:36 采纳率: 100%
浏览 1622
已采纳

java.lang.NumberFormatException: null 求大神!!

教师公寓与教师的关系 程序是想通过教师公寓的id获取teacher这个集合 比如几号公寓住着哪些教师 一直报转换类型错误 求大神看看

service里面的代码

public static List<Teacher> findTeacher(int id){
    List<Teacher> teacher = new ArrayList<Teacher>();
    SqlSession session =MyBatisUtils.getSqlSession();
    try{
        TeacherApartmentDaoMapper teacherapartmentMapper = session.getMapper(TeacherApartmentDaoMapper.class);
        teacher = teacherapartmentMapper.findTeacher(id);

    }catch(Exception e){
        e.printStackTrace();

    }finally{
        MyBatisUtils.closeSqlSession(session);

    }
    return teacher;

}

Action里面的代码

@Action(value="findTeacher")
public void findTeacher()throws Exception{
    ServletActionContext.getResponse().setCharacterEncoding("utf-8");
    List<Teacher> teacher = TeacherApartmentService.findTeacher((Integer.parseInt(ServletActionContext.getRequest().getParameter("ftId"))));// 这里报错
    ServletActionContext.getResponse().getWriter()
    .print(new Gson().toJson(teacher));
ServletActionContext.getResponse().getWriter().flush();
ServletActionContext.getResponse().getWriter().close();
}

请问应该怎么改,这种1对多的关系做起卡了几天了 求大神指教 感激不尽!!

控制台报的错是java.lang.NumberFormatException: null

  • 写回答

4条回答 默认 最新

  • 91program 博客专家认证 2016-02-06 15:14
    关注

    或者,继续拆分:

     Var = ServletActionContext.getRequest().getParameter("ftId");   // 不清楚返回的数据类型,请按实现返回的数据类型定义。
     int iFtld = Integer.parseInt(Var);
     List<Teacher> teacher = TeacherApartmentService.findTeacher(iFtld);
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • threenewbee 2016-02-06 14:40
    关注

    ServletActionContext.getRequest().getParameter("ftId")
    这里ftId为空,或者有前导后导空格,或者根本不是一个数字。
    导致转换成int出错。
    调试下。

    评论
  • 丑旦 2016-02-06 14:58
    关注

    建议打印一下ServletActionContext.getRequest().getParameter("ftId")的,肯定是null,从这里往回找吧。

    评论
  • 91program 博客专家认证 2016-02-06 15:11
    关注

    将出错的一行,拆分一下:

    int iFtld = Integer.parseInt(ServletActionContext.getRequest().getParameter("ftId"));
     List<Teacher> teacher = TeacherApartmentService.findTeacher(iFtld);
    

    然后调试一下,看看 iFtld 的值是否正确吧。

    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 win11系统打开软件很慢
  • ¥30 XIAO esp32c3 读取FDC2214的数据
  • ¥15 在工控机(Ubuntu系统)上外接USB蓝牙硬件进行蓝牙通信
  • ¥15 关于PROCEDURE和FUNCTION的问题
  • ¥100 webapi的部署(标签-服务器)
  • ¥20 怎么加快手机软件内部计时的时间(关键词-日期时间)
  • ¥15 C语言除0问题的检测方法
  • ¥15 为什么四分管的内径有的是16mm有的15mm,四分不应该是12.7mm吗
  • ¥15 macos13下 ios交叉编译的问题
  • ¥15 bgz压缩文件怎么打开