@RequestMapping(value = "/login")
public ModelAndView login(HttpServletRequest request) {
String id = request.getParameter("id");
int i = Integer.parseInt(id); //这行代码空指针异常
User user = userService.findById(i);
System.out.println(user);
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("user");
modelAndView.addObject("user",user);
return modelAndView;
给 int i = Integer.parseInt(id)添加一个判断条件。
如有帮助,望采纳
@RequestMapping(value = "/login")
public ModelAndView login(HttpServletRequest request) {
String id = request.getParameter("id");
if (!id.trim().equals("")&&id!=null){
// 判断如果id不为空
int i = Integer.parseInt(id); //这行代码空指针异常
User user = userService.findById(i);
System.out.println(user);
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("user");
modelAndView.addObject("user",user);
return modelAndView;
}else {
//id如果为空,则给他赋值为0
int i = 0;
User user = userService.findById(i);
System.out.println(user);
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("user");
modelAndView.addObject("user",user);
return modelAndView;
}
}
String id = request.getParameter("id");后判断下id是否为空。
检查前端是传id 值是否为空
前端没穿id过来
@RequestMapping(value = "/login")
public ModelAndView login(HttpServletRequest request) {
// 使用getParameter前要先判空
if(StringUtils.isEmpty(request.getParameter("id")))
String id = request.getParameter("id");
int i = Integer.parseInt(id); //这行代码空指针异常
User user = userService.findById(i);
System.out.println(user);
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("user");
modelAndView.addObject("user",user);
return modelAndView;
判断的前后顺序错了,应该
解决方式1:
id!=null&&!id.trim().equals("")
解决方式2:
使用工具包 StringUtils.isNotBlank(id) , StringUtils来自 apache-common-lang3 或者spring-core中的字符串处理