public void setBasenames(String... basenames) { if (basenames != null) { this.basenames = new String[basenames.length]; for (int i = 0; i < basenames.length; i++) { String basename = basenames[i]; Assert.hasText(basename, "Basename must not be empty"); this.basenames[i] = basename.trim(); } } else { this.basenames = new String[0]; } super.setBasenames(basenames); }
@Override public void setBasenames(String... basenames) { if (basenames != null) { //解析资源basename List<String> basenameList = new ArrayList<String>(); for(String basename : basenames){ Assert.hasText(basename, "Basename must not be empty"); //解析资源basename basenameList.addAll(calculateFilenamesForBasename(basename)); } //对处理后的路径进行处理 this.basenames = new String[basenameList.size()]; for (int i = 0; i < basenameList.size(); i++) { this.basenames[i] = basenameList.get(i); } } else { this.basenames = new String[0]; } super.setBasenames(this.basenames); }
@Bean(name = "messageSource") public ResourceBundleMessageSource messageSource(){ ResourceBundleMessageSource resourceBundleMessageSource = new ResourceBundleMessageSource(); resourceBundleMessageSource.setUseCodeAsDefaultMessage(false); resourceBundleMessageSource.setDefaultEncoding("UTF-8"); resourceBundleMessageSource.setCacheSeconds(60); List<String> basename = new ArrayList<>(); basename.add("i18n/messages"); basename.add("i18n/ValidationMessages"); resourceBundleMessageSource.setBasenames( basename.toArray(new String[basename.size()])); return resourceBundleMessageSource; }
@Bean public ResourceBundleMessageSource messageSource() { ResourceBundleMessageSource bundleMessageSource = new ResourceBundleMessageSource(); bundleMessageSource.setDefaultEncoding(defaultEncoding); bundleMessageSource.setUseCodeAsDefaultMessage(true); bundleMessageSource.setBasenames(i18nMessages.split(",")); return bundleMessageSource; }
/** * 设置国际化资源信息 */ public static void initMessageSource(List<String> isvModules) { HashSet<String> baseNamesSet = new HashSet<String>(); baseNamesSet.add(I18N_OPEN_ERROR); if(!isvModules.isEmpty()) { baseNamesSet.addAll(isvModules); } String[] totalBaseNames = baseNamesSet.toArray(new String[0]); if (logger.isInfoEnabled()) { logger.info("加载错误码国际化资源:{}", StringUtils.arrayToCommaDelimitedString(totalBaseNames)); } ResourceBundleMessageSource bundleMessageSource = new ResourceBundleMessageSource(); bundleMessageSource.setBasenames(totalBaseNames); MessageSourceAccessor messageSourceAccessor = new MessageSourceAccessor(bundleMessageSource); setErrorMessageSourceAccessor(messageSourceAccessor); }
@Bean public MessageSource messageSource() { ResourceBundleMessageSource resourceBundleMessageSource = new ResourceBundleMessageSource(); resourceBundleMessageSource.setDefaultEncoding("UTF-8"); resourceBundleMessageSource.setBasenames("coreMessage"); resourceBundleMessageSource.setUseCodeAsDefaultMessage(true); return resourceBundleMessageSource; } }
bundlesArrays[i] = bundles.get(i); resourceBundleMessageSource.setBasenames(bundlesArrays);
/** * */ @Bean public MessageSource messageSource() { ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); messageSource.setBasenames("messages/messages", "messages/metatron_security_messages"); messageSource.setFallbackToSystemLocale(false); messageSource.setCacheSeconds(100000); messageSource.setDefaultEncoding("UTF-8"); return messageSource; }
MessageReources.messageSource.setBasenames(basenames .toArray(new String[basenames.size()])); MessageReources.messageSource.setUseCodeAsDefaultMessage(true);
MessageResources.messageSource.setBasenames(basenames.toArray(new String[basenames.size()])); MessageResources.messageSource.setUseCodeAsDefaultMessage(true);
@Bean public LocaleResolver localeResolver() { SessionLocaleResolver slr = new SessionLocaleResolver(); slr.setDefaultLocale(Locale.US); // Set default Locale as US return slr; } @Bean public ResourceBundleMessageSource messageSource() { ResourceBundleMessageSource source = new ResourceBundleMessageSource(); source.setBasenames("i18n/messages"); // name of the resource bundle source.setUseCodeAsDefaultMessage(true); return source; }
private ResourceBundleMessageSource getMessageSource() throws Exception { ResourceBundleMessageSource bundleMessageSource = new ResourceBundleMessageSource(); bundleMessageSource.setDefaultEncoding(defaultString(properties.getDefaultEncoding(), DEFAULT_CHARSET)); bundleMessageSource.setBasenames(properties.getBaseNames()); return bundleMessageSource; }
@Bean(name = "validator") public LocalValidatorFactoryBean getLocalValidatorFactoryBean() { final LocalValidatorFactoryBean validator = new LocalValidatorFactoryBean(); validator.setValidationMessageSource(this.getMessageSource()); validator.afterPropertiesSet(); return validator; } @Bean(name = "messageSource") // --> !!! This is what is so important!!! public MessageSource getMessageSource() { final ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); // easily swapped out with "ReloadableResourceBundleMessageSource", my app just doesn't have any necessary reloadable message requirements. messageSource.setBasenames(ERROR_MESSAGE_DIRECTORY); // static String for a direct path to your "ValidationMessages.properties" file or whatever name you've given it. return messageSource; }
private ResourceBundleMessageSource getMessageSource() throws Exception { ResourceBundleMessageSource bundleMessageSource = new ResourceBundleMessageSource(); bundleMessageSource.setDefaultEncoding(defaultString(properties.getDefaultEncoding(), DEFAULT_CHARSET)); bundleMessageSource.setBasenames(properties.getBaseNames()); return bundleMessageSource; }
@Bean public MessageSource messageSource() { MessageSourceProperties properties = messageSourceProperties(); ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); if (StringUtils.hasText(properties.getBasename())) { messageSource.setBasenames(StringUtils.commaDelimitedListToStringArray( StringUtils.trimAllWhitespace(properties.getBasename()))); } if (properties.getEncoding() != null) { messageSource.setDefaultEncoding(properties.getEncoding().name()); } messageSource.setFallbackToSystemLocale(properties.isFallbackToSystemLocale()); Duration cacheDuration = properties.getCacheDuration(); if (cacheDuration != null) { messageSource.setCacheMillis(cacheDuration.toMillis()); } messageSource.setAlwaysUseMessageFormat(properties.isAlwaysUseMessageFormat()); messageSource.setUseCodeAsDefaultMessage(properties.isUseCodeAsDefaultMessage()); return messageSource; }
@Bean @Primary public MessageSource messageSource( BlossomReloadableResourceBundleMessageSource parentMmessageSource) { MessageSourceProperties properties = messageSourceProperties(); ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); if (StringUtils.hasText(properties.getBasename())) { messageSource.setBasenames(StringUtils.commaDelimitedListToStringArray( StringUtils.trimAllWhitespace(properties.getBasename()))); } if (properties.getEncoding() != null) { messageSource.setDefaultEncoding(properties.getEncoding().name()); } messageSource.setFallbackToSystemLocale(properties.isFallbackToSystemLocale()); Duration cacheDuration = properties.getCacheDuration(); messageSource.setCacheSeconds( cacheDuration == null ? -1 : (int) cacheDuration.getSeconds()); messageSource.setAlwaysUseMessageFormat(properties.isAlwaysUseMessageFormat()); messageSource.setUseCodeAsDefaultMessage(properties.isUseCodeAsDefaultMessage()); messageSource.setParentMessageSource(parentMmessageSource); return messageSource; }
@Bean public MessageSource messageSource(ApplicationContext applicationContext) { MessageSourceProperties properties = messageSourceProperties(applicationContext); ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); if (StringUtils.hasText(properties.getBasename())) { messageSource.setBasenames(StringUtils.commaDelimitedListToStringArray( StringUtils.trimAllWhitespace(properties.getBasename()))); } if (properties.getEncoding() != null) { messageSource.setDefaultEncoding(properties.getEncoding().name()); } messageSource.setFallbackToSystemLocale(properties.isFallbackToSystemLocale()); Duration cacheDuration = properties.getCacheDuration(); if (cacheDuration != null) { messageSource.setCacheMillis(cacheDuration.toMillis()); } messageSource.setAlwaysUseMessageFormat(properties.isAlwaysUseMessageFormat()); messageSource.setUseCodeAsDefaultMessage(properties.isUseCodeAsDefaultMessage()); return messageSource; }
public class WebMvcConfiguration extends WebMvcConfigurerAdapter { other stuff..... @Bean public MessageSource messageSource() { ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); messageSource.setBasenames("Messages/Messages", "Messages/Labels"); messageSource.setDefaultEncoding("UTF-8"); messageSource.setCacheSeconds(1); return messageSource; } @Bean public AppDateFormatter appDateFormatter(){ return new AppDateFormatter(); } @Bean public FormattingConversionService mvcConversionService() { FormattingConversionService conversionService = new DefaultFormattingConversionService(); conversionService.addFormatter(appDateFormatter()); return conversionService; } }