Сброс пароля с помощью весны по почте

Я реализовал функцию рассылки, с помощью которой пользователю отправляется токен подтверждения, и при нажатии на предоставленный URL открывается страница, которая заполняет идентификатор электронной почты пользователя, которому отправлено электронное письмо.

Затем они могут быть сброшены, однако, когда я пытаюсь отправить форму с новым паролем. Он не передает значение функции, которую я предоставил.

@PostMapping("/resetUserPassword")
public String accountPasswordReset(@Valid @ModelAttribute("updateUserPassword") ResetPassword user, BindingResult theBindingResult, Model theModel){
 
//this line outputs null value
System.out.println("accountPasswordReset: email="+user.getEmail());
if(user.getEmail()!=null) {
    User tokenUser = userService.findByEmailIdIgnoreCase(user.getEmail());
    tokenUser.setPassword(passwordEncoder.encode(user.getPassword()));
    userService.save(tokenUser);
    return "successPasswordReset";
        }else {
        return "error";
        }
    }

<form:form action="${pageContext.request.contextPath}/register/resetUserPassword" modelAttribute="updateUserPassword" class="form-horizontal" method="POST">
    <!-- Email -->
    <div class="form-group">
    <label for="emailId">Email (*)</label>
    <form:input path="email" id="emailId" placeholder="email (*)"
        class="form-control" disabled="true" readonly="true" />
        <form:errors path="email" cssClass="error" />
        </div>
        
        <!-- Password -->
    <div class="form-group">
    <label for="password">Password (*)</label>
    <form:password path="password" id="password"
    placeholder="password (*)" class="form-control" />
    <form:errors path="password" cssClass="error" />
    </div>
 
    <!-- Reset Button -->
        <div style="margin-top: 10px" class="form-group">
    <div class="col-sm-6 controls">
    <button type="submit" class="btn btn-primary">Reset</button>
    </div>
    </div>
</form:form>

person Himanshu Kandpal    schedule 16.10.2020    source источник


Ответы (1)


Мне не хватало самой мелочи, в этой строке я просто удалил disabled = true, и это работает

‹Form: input path = email id = emailId placeholder = email (*) class = form-control disabled = true readonly = true /›

to

‹Form: input path = email id = emailId placeholder = email (*) class = form-control только для чтения = true /›

person Himanshu Kandpal    schedule 16.10.2020