Я создал форму с использованием Thymeleaf, который слушал контроллер. Когда я ввожу строку, которая содержит начальные или конечные пробелы (пример: "abc
".), строка автоматически обрезается в контроллере (пример:" abc ".). Но я хочу сохранить эти начальные или конечные пробелы даже при передаче значения в контроллер. Как я могу это сделать?
Пример кода:
Форма с использованием Thymeleaf:
<form role="form" action="/" method="post" autocomplete="off" th:action="@{/change-password}" th:object="${form}">
<div>
<label for="new-pass" th:text="#{password.newPassword}">New password</label>
<input type="password" th:field="*{password}" th:placeholder="#{password.newPassword}" required="required" />
</div>
<div>
<button type="submit" th:text="#{confirm}">Change</button>
<a href="/" th:href="@{/}" th:text="#{cancel}">Cancel</a>
</div>
</form>
Контроллер для страницы:
@RequestMapping(value = "/change-password", method = RequestMethod.GET)
public String changePassword(@ModelAttribute("form") ChangeMyPasswordForm form) {
return "/account/change-pass";
}
Контроллер, обрабатывающий действие формы:
@RequestMapping(value = "/change-password", method = RequestMethod.POST)
public void changeSelfPassword(ChangeMyPasswordForm form) {
System.out.println(form.getPassword());
}
Класс ChangeMyPasswordForm:
public class ChangeMyPasswordForm {
private String password;
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
Строка, которая вводится в виде:
" abc "
Ожидаемый результат в контроллере System.out.println:
" abc "
Фактический результат:
"abc"