Java Spring смена основного имени - PullRequest
0 голосов
/ 12 февраля 2020

У меня есть этот контроллер

    @Controller
    @RequestMapping("/")
    public class UserController {

        @Autowired
        private UserServices userServices;

        public String em;

        @GetMapping("/settings")
        public String showProfilePage(Model model, @ModelAttribute User user){
            em=user.getEmail();
            model.addAttribute("user",user);
            return "editprofile";
        }

        @PostMapping("/settings")
        public String updateProfile(Model model,@ModelAttribute User user,BindingResult bindingResult,Principal principal){
            if(bindingResult.hasErrors()){
                return "/editprofile";
            }
            if(userServices.isUserPresentUpdate(user.getEmail(),em)){
                model.addAttribute("exist",true);
                return "/editprofile";
            }
            userServices.update(user);
            return "redirect:/settings";
        }

        @GetMapping("/settings/password")
        public String passwordEdit(Model model, @ModelAttribute User user){
            model.addAttribute("user",user);
            return "editprofilepassword";
        }

        @PostMapping("/settings/password")
        public String passwordUpdate(@ModelAttribute User user, BindingResult bindingResult){
            if(bindingResult.hasErrors()){
                return "editprofilepassword";
            }
            userServices.updateHeslo(user);
            return "redirect:/settings";
        }

        @ModelAttribute("user")
        public User getUser() {
            Authentication auth = SecurityContextHolder.getContext().getAuthentication();
            UserDetails userDetail = (UserDetails) auth.getPrincipal();
            User u = userServices.findByEmail(userDetail.getUsername());
            return  u.getId() !=null ? userServices.findOne(u.getId()) : new User();
        }
    }

Я ищу метод, который меняет имя участника или любые другие решения. Каждый раз, когда я изменяю адрес электронной почты в /settings, адрес электронной почты изменяется, но имя участника остается прежним, и оно ломается.

...