这是我的控制器,它从网址获取id:
@RequestMapping(value = "/user/users", method = RequestMethod.GET, params = {"getId"})
@ResponseBody
public ModelAndView getClientStat(@RequestParam(value="getId", required = true) String getId) {
ModelAndView modelAndView = new ModelAndView();
long userId=0;
userId=Long.parseLong(getId);
Client c=userService.getUserById(userId);
modelAndView.addObject("userName", c.getName() );
modelAndView.setViewName("user/users");
return modelAndView;
}
这会返回一个空指针异常,但事情就是当我把getID放在modelAndView中时,就像这样:
modelAndView.addObject("id",getId)
它确实添加了响应ID。 我怎样才能解决这个问题 ?我认为问题在于解析字符串时,因为当删除该部分时,它运行良好。
答案 0 :(得分:0)
parseLong
不能返回null - 它返回long
值或抛出异常。所以你的问题很可能不是字符串解析。
检查NullPointerException发生在哪一行。我希望userService
为空,或者返回的客户端c
为空。我猜它可能c
可能是空的 - 也许你有一个你的用户服务找不到的ID,结果返回null
...