I am not able to read form my messages.properties file (under/src/main/resources)
Env: Spring MVC 4.3.14
MyAppConfig.java:
@Bean
public MessageSource messageSource() {
ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
messageSource.setBasename("messages");
return messageSource;
}
In my jsp (newuserregistration.jsp) i have:
<form:form method="POST" modelAttribute="user" class="form-horizontal">
<div class="row">
<label class="col-md-3 control-label" for="userfirstname">First
Name</label>
<div class="col-md-7">
<form:input type="text" path="userfirstname" id="userfirstname"
class="form-control input-sm" />
<div class="has-error">
<form:errors path="userfirstname" class="help-inline" />
</div>
</div>
In my css i have:
.has-error{
color:red;
}
Entity class (AppUsers.java) has:
@Basic(optional = false)
@NotNull
@NotEmpty
//@Size(min = 1, max = 45)
@Column(name = "USERFIRSTNAME", nullable = false, length = 45)
private String userfirstname;
My messages.properties has:
NotEmpty.user.userfirstname=First name can not be blank.
And controller has:
@Autowired
MessageSource messageSource;
@RequestMapping(value = {"/registernewuser"}, method = RequestMethod.GET)
public String newUser(ModelMap model) {
AppUsers user = new AppUsers();
model.addAttribute("user", user);
@RequestMapping(value = {"/registernewuser"}, method = RequestMethod.POST)
public String saveUser(@Valid AppUsers user, BindingResult result,
ModelMap model) {
model.addAttribute("user", user);
if (result.hasErrors()) {
model.addAttribute("user", user);
model.addAttribute("loggedinuser", getPrincipal());
return "newuserregistration";
}
Somehow the error message is not displayed on my jsp. What I am missing or doing wrong here?
I did sysout for result and it gave me -
org.springframework.validation.BeanPropertyBindingResult: 1 errors Field error in object 'appUsers' on field 'userfirstname': rejected value []; codes [NotEmpty.appUsers.userfirstname,NotEmpty.userfirstname,NotEmpty.java.lang.String,NotEmpty]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [appUsers.userfirstname,userfirstname]; arguments []; default message [userfirstname]]; default message [may not be empty]