How to disable trimming of whitespace when getting form data with using Thymeleaf in Spring
up vote
0
down vote
favorite
I created a form with using Thymeleaf which listened by controller. When I input a string that contains leading or trailing spaces (example: " abc
".), the string auto trimmed in the controller (example: "abc".). But I want to keep these leading or trailing spaces even the value passed into controller. How can I do that?
Example code:
Form with using 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>
Controller for page:
@RequestMapping(value = "/change-password", method = RequestMethod.GET)
public String changePassword(@ModelAttribute("form") ChangeMyPasswordForm form) {
return "/account/change-pass";
}
Controller that handling form action:
@RequestMapping(value = "/change-password", method = RequestMethod.POST)
public void changeSelfPassword(ChangeMyPasswordForm form) {
System.out.println(form.getPassword());
}
Class ChangeMyPasswordForm:
public class ChangeMyPasswordForm {
private String password;
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
The String that input in the form:
" abc "
Expected result in the controller System.out.println:
" abc "
Actual result:
"abc"
java spring spring-mvc thymeleaf
add a comment |
up vote
0
down vote
favorite
I created a form with using Thymeleaf which listened by controller. When I input a string that contains leading or trailing spaces (example: " abc
".), the string auto trimmed in the controller (example: "abc".). But I want to keep these leading or trailing spaces even the value passed into controller. How can I do that?
Example code:
Form with using 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>
Controller for page:
@RequestMapping(value = "/change-password", method = RequestMethod.GET)
public String changePassword(@ModelAttribute("form") ChangeMyPasswordForm form) {
return "/account/change-pass";
}
Controller that handling form action:
@RequestMapping(value = "/change-password", method = RequestMethod.POST)
public void changeSelfPassword(ChangeMyPasswordForm form) {
System.out.println(form.getPassword());
}
Class ChangeMyPasswordForm:
public class ChangeMyPasswordForm {
private String password;
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
The String that input in the form:
" abc "
Expected result in the controller System.out.println:
" abc "
Actual result:
"abc"
java spring spring-mvc thymeleaf
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I created a form with using Thymeleaf which listened by controller. When I input a string that contains leading or trailing spaces (example: " abc
".), the string auto trimmed in the controller (example: "abc".). But I want to keep these leading or trailing spaces even the value passed into controller. How can I do that?
Example code:
Form with using 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>
Controller for page:
@RequestMapping(value = "/change-password", method = RequestMethod.GET)
public String changePassword(@ModelAttribute("form") ChangeMyPasswordForm form) {
return "/account/change-pass";
}
Controller that handling form action:
@RequestMapping(value = "/change-password", method = RequestMethod.POST)
public void changeSelfPassword(ChangeMyPasswordForm form) {
System.out.println(form.getPassword());
}
Class ChangeMyPasswordForm:
public class ChangeMyPasswordForm {
private String password;
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
The String that input in the form:
" abc "
Expected result in the controller System.out.println:
" abc "
Actual result:
"abc"
java spring spring-mvc thymeleaf
I created a form with using Thymeleaf which listened by controller. When I input a string that contains leading or trailing spaces (example: " abc
".), the string auto trimmed in the controller (example: "abc".). But I want to keep these leading or trailing spaces even the value passed into controller. How can I do that?
Example code:
Form with using 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>
Controller for page:
@RequestMapping(value = "/change-password", method = RequestMethod.GET)
public String changePassword(@ModelAttribute("form") ChangeMyPasswordForm form) {
return "/account/change-pass";
}
Controller that handling form action:
@RequestMapping(value = "/change-password", method = RequestMethod.POST)
public void changeSelfPassword(ChangeMyPasswordForm form) {
System.out.println(form.getPassword());
}
Class ChangeMyPasswordForm:
public class ChangeMyPasswordForm {
private String password;
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
The String that input in the form:
" abc "
Expected result in the controller System.out.println:
" abc "
Actual result:
"abc"
java spring spring-mvc thymeleaf
java spring spring-mvc thymeleaf
asked Nov 9 at 3:35
ansonanson
31
31
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
accepted
First you need to check where the values are being truncated thymeleaf or Spring?
You can do that by printing values using jquery/javascript before form submission.
By default spring it doesn't trim the parameters. just check that you are NOT using StringTrimmerEditor like below.
@Controller
public class MyFormController {
@InitBinder
public void initBinder(WebDataBinder binder) {
binder.registerCustomEditor(String.class, new StringTrimmerEditor(true));
}
// ...
}
Thanks, there is really contains a StringTrimmerEditor. I deleted that StringTrimmerEditor and no more truncate now.
– ansonanson
Nov 9 at 7:25
glad to help you.
– Alien
Nov 9 at 7:30
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
accepted
First you need to check where the values are being truncated thymeleaf or Spring?
You can do that by printing values using jquery/javascript before form submission.
By default spring it doesn't trim the parameters. just check that you are NOT using StringTrimmerEditor like below.
@Controller
public class MyFormController {
@InitBinder
public void initBinder(WebDataBinder binder) {
binder.registerCustomEditor(String.class, new StringTrimmerEditor(true));
}
// ...
}
Thanks, there is really contains a StringTrimmerEditor. I deleted that StringTrimmerEditor and no more truncate now.
– ansonanson
Nov 9 at 7:25
glad to help you.
– Alien
Nov 9 at 7:30
add a comment |
up vote
0
down vote
accepted
First you need to check where the values are being truncated thymeleaf or Spring?
You can do that by printing values using jquery/javascript before form submission.
By default spring it doesn't trim the parameters. just check that you are NOT using StringTrimmerEditor like below.
@Controller
public class MyFormController {
@InitBinder
public void initBinder(WebDataBinder binder) {
binder.registerCustomEditor(String.class, new StringTrimmerEditor(true));
}
// ...
}
Thanks, there is really contains a StringTrimmerEditor. I deleted that StringTrimmerEditor and no more truncate now.
– ansonanson
Nov 9 at 7:25
glad to help you.
– Alien
Nov 9 at 7:30
add a comment |
up vote
0
down vote
accepted
up vote
0
down vote
accepted
First you need to check where the values are being truncated thymeleaf or Spring?
You can do that by printing values using jquery/javascript before form submission.
By default spring it doesn't trim the parameters. just check that you are NOT using StringTrimmerEditor like below.
@Controller
public class MyFormController {
@InitBinder
public void initBinder(WebDataBinder binder) {
binder.registerCustomEditor(String.class, new StringTrimmerEditor(true));
}
// ...
}
First you need to check where the values are being truncated thymeleaf or Spring?
You can do that by printing values using jquery/javascript before form submission.
By default spring it doesn't trim the parameters. just check that you are NOT using StringTrimmerEditor like below.
@Controller
public class MyFormController {
@InitBinder
public void initBinder(WebDataBinder binder) {
binder.registerCustomEditor(String.class, new StringTrimmerEditor(true));
}
// ...
}
edited Nov 9 at 5:19
answered Nov 9 at 5:13
Alien
4,01221022
4,01221022
Thanks, there is really contains a StringTrimmerEditor. I deleted that StringTrimmerEditor and no more truncate now.
– ansonanson
Nov 9 at 7:25
glad to help you.
– Alien
Nov 9 at 7:30
add a comment |
Thanks, there is really contains a StringTrimmerEditor. I deleted that StringTrimmerEditor and no more truncate now.
– ansonanson
Nov 9 at 7:25
glad to help you.
– Alien
Nov 9 at 7:30
Thanks, there is really contains a StringTrimmerEditor. I deleted that StringTrimmerEditor and no more truncate now.
– ansonanson
Nov 9 at 7:25
Thanks, there is really contains a StringTrimmerEditor. I deleted that StringTrimmerEditor and no more truncate now.
– ansonanson
Nov 9 at 7:25
glad to help you.
– Alien
Nov 9 at 7:30
glad to help you.
– Alien
Nov 9 at 7:30
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53219486%2fhow-to-disable-trimming-of-whitespace-when-getting-form-data-with-using-thymelea%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown