java - JSR-303 和 Spring MVC 绑定(bind)结果

标签 java spring spring-mvc spring-roo

我正在尝试弄清楚如何在发生验证错误时获取本地化错误消息。

我的域对象如下所示:

@RooJavaBean
@RooToString
@RooEntity
public class Lead {

   @Email(message = "{email_error_message}")
   String emailAddress;

}

我的 Controller 如下所示:

    @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}。所以问题是我错了什么?

最佳答案

我也不确定如何让 message 属性与 Spring 消息源一起使用。

但是,您始终可以使用默认消息代码(请参阅 DefaultMessageCodesResolver ):

Email.lead.emailAddress=Sorry your email is invalid

关于java - JSR-303 和 Spring MVC 绑定(bind)结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5073488/

相关文章:

java - 如何测试使用 JDBC 的 Spring Controller ?

spring - org.hibernate.QueryException : Space is not allowed after parameter prefix ':'

java - Spring Security 5 Spring MVC Oauth 2密码授予类型不返回带有/oauth/token的 token

java - 如何在mysql中插入NULL,尤其是INT dataType

java:在Windows Eclipse中编译具有相同名称但大小写不同的文件

java - 使用带有 hdbc 的 spring security 3.0 逐步登录示例

java - Spring Servlet 从 *.html 映射到 SO 类型映射

java - 来自 json 的 Spring mvc RequestMapping

java - 计算 java 中字符串的行数 - BufferedReader 行为

java - 如何导出使用 Gson jar 的项目的 jar 文件