spring boot國際化之MessageSource的使用方法
前言
修改properties文件的目錄:在application.yml或者application.properties中配置 spring.message.basename
spring: application: name: test-worklog messages: basename: i18n/messages encoding: UTF-8
MessageSource的使用:
1. 無參數(shù)
operation.success = 操作成功。
String msg1 = this.messageSource.getMessage(' operation.success ', null, Locale.CHINA);
2. 動態(tài)參數(shù)
start.ge.end = 開始日期{0}必須小于結(jié)束日期{1}!
String [] param = {startDate, endDate};String msg =getMessage('start.ge.end', param);@Autowiredprivate MessageSource messageSource;/** * 國際化 * * @param result * @return */public String getMessage(String result, Object[] params) { String message = ''; try { Locale locale = LocaleContextHolder.getLocale(); message = messageSource.getMessage(result, params, locale); } catch (Exception e) { LOGGER.error('parse message error! ', e); } return message;}
補(bǔ)充一個方法,適用于類中無法獲取到MessageSource
/** * 國際化 * 注:通過@Autowired private MessageSource messageSource無法獲取 * * @param result * @return */public String getMessage(String result, Object[] params) { ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource(); messageSource.setCacheSeconds(-1); messageSource.setDefaultEncoding(StandardCharsets.UTF_8.name()); messageSource.setBasenames('/i18n/messages'); String message = ''; try { Locale locale = LocaleContextHolder.getLocale(); message = messageSource.getMessage(result, params, locale); } catch (Exception e) { log.error('parse message error! ', e); } return message;}
總結(jié)
到此這篇關(guān)于spring boot國際化之MessageSource使用方法的文章就介紹到這了,更多相關(guān)springboot國際化MessageSource的使用內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. webpack高級配置與優(yōu)化詳解2. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向3. ASP中if語句、select 、while循環(huán)的使用方法4. XML入門的常見問題(四)5. 使用Spry輕松將XML數(shù)據(jù)顯示到HTML頁的方法6. ASP動態(tài)網(wǎng)頁制作技術(shù)經(jīng)驗(yàn)分享7. CSS Hack大全-教你如何區(qū)分出IE6-IE10、FireFox、Chrome、Opera8. SXNA RSS Blog 聚合器程序9. XML 增、刪、改和查示例10. ASP常用日期格式化函數(shù) FormatDate()
