Thymeleaf — как заполнить поле ввода, если присутствует значение?

#spring-boot #thymeleaf

#весенняя загрузка #thymeleaf

Вопрос:

У меня есть приложение Spring boot с таким потоком.

  • Регистрируется новый пользовательский регистр
  • Он / она получает электронное письмо с подтверждением
  • Когда пользователь нажимает на URL подтверждения, он / она будет перенаправлен на страницу входа в систему.

На данный момент все хорошо, но я хочу сделать, когда пользователь попадает на страницу входа, я хочу заполнить электронную почту пользователя в поле электронной почты и позволить пользователю ввести свой пароль для продолжения.

Мое поле электронной почты выглядит следующим образом:

 <input type="email"
    id="userLoginFormEmail"
    class="form-control mb-4"
    th:field="*{email}"
    placeholder="Your email" required />
  

Когда пользователь перенаправляется на страницу входа, я добавляю адрес электронной почты пользователя в атрибут модели следующим образом:

 model.addAttribute("userEmail", userEmail);
return "user/login";
  

Итак, как мне предварительно заполнить поле электронной почты, если userEmail атрибут не равен нулю?

Обновить

У меня есть предупреждение на странице входа, которое отображается нормально при посещении URL-адреса активации. Это выглядит так

 <div class="alert alert-info  mt-5" role="alert" th:if="${userEmail != null}">
    <strong>Your account is activated. Please login to proceed.</strong>
    <button type="button" class="close" data-dismiss="alert" aria-label="Close">
        <span aria-hidden="true">amp;times;</span>
    </button>
</div>
  

Итак, userEmail работает нормально, но все еще не может отобразить его в поле электронной почты.

Ответ №1:

В контроллере установите адрес электронной почты пользователя для userEmail объекта (перед отображением страницы).

Ответ №2:

Добавьте атрибут th:value="userEmail" в поле ввода в шаблоне