2020 年 11 月 1 日

IT Skills 波林

Polin WEI – 資訊工作者的技術手札

Spring Boot 讀取自定多語系 properties 檔(i18n)

1 min read
spring-boot-i18n

Spring Boot 讀取 自定多語系屬性 properties 檔(i18n)

 

Java 讀取 resource 目錄下的屬性 properties 檔案:PasswordMessages.properties,可以依下方程式取得。

Properties props = new Properties();
File propsFile = ResourceUtils.getFile("classpath:PasswordMessages.properties");
props.load(new FileInputStream(propsFile));
MessageResolver resolver = new PropertiesMessageResolver(props);

 

在 Spring Boot 中則提供 ReloadableResourceBundleMessageSource 來取得多語系的屬性 properties 檔案:PasswordMessages.properties (程式中不需加入 .properties 附屬檔名)。在 org.passay 的模組裡有提供 SpringMessageResolver 來與 Spring 作整合,讓密碼規則驗證與產生發生錯誤時,可以回覆多語系的訊息。

ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();        
messageSource.setBasename("classpath:PasswordMessages");
messageSource.setDefaultEncoding("UTF-8");
SpringMessageResolver smr = new SpringMessageResolver(messageSource, locale);

 

Copyright © All rights reserved. | Newsphere by AF themes.