Java 怎样才能';我不能用新信息更新我的用户配置文件吗?
如果Java 怎样才能';我不能用新信息更新我的用户配置文件吗?,java,spring,spring-boot,java-ee-6,Java,Spring,Spring Boot,Java Ee 6,如果字符串loginExist=null或loginExist.equals(principal.getName()) 问题是我得到了NullPointerException 这是我的代码: // update profile @RequestMapping(value = "/updateRH", method = RequestMethod.POST) public ModelAndView updateRH(Principal principal, @ModelAttribute("use
字符串loginExist=null
或loginExist.equals(principal.getName())
问题是我得到了NullPointerException
这是我的代码:
// update profile
@RequestMapping(value = "/updateRH", method = RequestMethod.POST)
public ModelAndView updateRH(Principal principal, @ModelAttribute("user") user user) {
ModelAndView mv = new ModelAndView();
String loginExist = "";
user rh = RhRepo.findByUsername(principal.getName());
try {
loginExist = userRepo.findCountUsername(user.getUsername());
} catch (Exception e) {
}
System.out.println(loginExist);
if (loginExist.equals(null) || loginExist.equals(principal.getName())) {
user.setId(RhRepo.findByUsername(principal.getName()).getId());
user.setPwd(encoder.encode(user.getPwd()));
RhRepo.save(user);
} else {
String msg = "Username Deja exist !!!";
mv.addObject("msg", msg);
}
mv.addObject("rh", rh);
mv.setViewName("rhprofile");
return mv;
}
当您试图从null对象调用方法时,如果loginExist为null,则loginExist.equals(null)将抛出NPE
使用:-
loginExist==null
相反。所以问题是
user.getUsername()
。用户
为空,试图获取其用户名
会导致NullPointerException
在该调用之前添加检查,请尝试以下操作:
if (user != null) {
loginExist = userRepo.findCountUsername(user.getUsername());
}
否则(如果为null),您需要先创建用户,然后再尝试从存储库中查找它。您的代码不是null安全的,很多行可能会导致此问题。哪一行出现异常?loginExist=userRepo.findCountUsername(user.getUsername());这条线