Я пытаюсь выяснить, как получить локализованные сообщения об ошибках при возникновении ошибки проверки.
Мой объект домена выглядит так:
@RooJavaBean
@RooToString
@RooEntity
public class Lead {
@Email(message = "{email_error_message}")
String emailAddress;
}
Мой контроллер выглядит так:
@RequestMapping(method=RequestMethod.POST)
public @ResponseBody String create(@Valid Lead lead, BindingResult result) {
log.debug("In POST!");
if(result.hasErrors())
{
FieldError fieldError = result.getFieldError("emailAddress");
return fieldError.getDefaultMessage();
}
else
{
log.debug("Email = " + lead.getEmailAddress());
try
{
lead.persist();
lead.flush();
}
catch(DataAccessException ex)
{
log.debug("Oh OH...");
return "Sorry we are experiencing technical difficulties, please try again later";
}
return "";
}
}
Я также создал ValidationMessages.properties.
email_error_message=Sorry your email is invalid
В моем webmvc-config.xml:
<bean class="org.springframework.context.support.ReloadableResourceBundleMessageSource" id="messageSource"
p:basenames="WEB-INF/i18n/messages,WEB-INF/i18n/application" p:fallbackToSystemLocale="false"/>
Ошибка, которую я получаю из fieldError.getDefaultMessage (): {email_error_message}. Так что вопрос в том, что я не прав?