问题描述
- 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
解决方案
或者,继续拆分:
Var = ServletActionContext.getRequest().getParameter("ftId"); // 不清楚返回的数据类型,请按实现返回的数据类型定义。
int iFtld = Integer.parseInt(Var);
List<Teacher> teacher = TeacherApartmentService.findTeacher(iFtld);
解决方案二:
将出错的一行,拆分一下:
int iFtld = Integer.parseInt(ServletActionContext.getRequest().getParameter("ftId"));
List<Teacher> teacher = TeacherApartmentService.findTeacher(iFtld);
然后调试一下,看看 iFtld 的值是否正确吧。
解决方案三:
ServletActionContext.getRequest().getParameter("ftId")
这里ftId为空,或者有前导后导空格,或者根本不是一个数字。
导致转换成int出错。
调试下。
解决方案四:
建议打印一下ServletActionContext.getRequest().getParameter("ftId")的,肯定是null,从这里往回找吧。
时间: 2024-12-29 13:49:08