一、国际化类:

package com.mall;
import ............

public class MyLocaleResolver implements LocaleResolver {

   @Override
   public Locale resolveLocale(HttpServletRequest request) {
      // 此处可以根据项目需要修改代码,比如使用session或cookie
      String l = request.getParameter("l");
      Locale locale = null;
      if (StringUtils.isEmpty(l)) {
         locale = Locale.getDefault();
      } else {
         String[] split = l.split("_");
         if (split.length == 1) {
            locale = new Locale(split[0]);
         } else {
            locale = new Locale(split[0], split[1]);
         }
      }
      return new Locale("en");// 这里直接固定设置为 en 进行测试
   }

   @Override
   public void setLocale(HttpServletRequest request, HttpServletResponse response, Locale locale) {

   }
}


二、ValidationConfig 类:

package com.mall.config;
import ............

@Configuration
public class ValidationConfig {

   @Bean
   public LocaleResolver localeResolver() {
      return new MyLocaleResolver();
   }
}


三、新增 ValidationMessages_en.properties 文件,内容如下:

user.username.notnull=UserName Not Null
user.password.notnull=Password Not Null
user.username.length=UserName Length IN(5-20)
user.password.length=Password Length IN(6-20)