spring boot國(guó)際化之MessageSource的使用方法
前言
修改properties文件的目錄:在application.yml或者application.properties中配置 spring.message.basename
spring: application: name: test-worklog messages: basename: i18n/messages encoding: UTF-8
MessageSource的使用:
1. 無(wú)參數(shù)
operation.success = 操作成功。
String msg1 = this.messageSource.getMessage(' operation.success ', null, Locale.CHINA);
2. 動(dòng)態(tài)參數(shù)
start.ge.end = 開(kāi)始日期{0}必須小于結(jié)束日期{1}!
String [] param = {startDate, endDate};String msg =getMessage('start.ge.end', param);@Autowiredprivate MessageSource messageSource;/** * 國(guó)際化 * * @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ǔ)充一個(gè)方法,適用于類中無(wú)法獲取到MessageSource
/** * 國(guó)際化 * 注:通過(guò)@Autowired private MessageSource messageSource無(wú)法獲取 * * @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國(guó)際化之MessageSource使用方法的文章就介紹到這了,更多相關(guān)springboot國(guó)際化MessageSource的使用內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. ASP基礎(chǔ)入門(mén)第四篇(腳本變量、函數(shù)、過(guò)程和條件語(yǔ)句)2. php使用正則驗(yàn)證密碼字段的復(fù)雜強(qiáng)度原理詳細(xì)講解 原創(chuàng)3. jscript與vbscript 操作XML元素屬性的代碼4. Jsp servlet驗(yàn)證碼工具類分享5. XML在語(yǔ)音合成中的應(yīng)用6. 基于PHP做個(gè)圖片防盜鏈7. ASP將數(shù)字轉(zhuǎn)中文數(shù)字(大寫(xiě)金額)的函數(shù)8. 基于javaweb+jsp實(shí)現(xiàn)企業(yè)車(chē)輛管理系統(tǒng)9. Jsp+Servlet實(shí)現(xiàn)文件上傳下載 文件列表展示(二)10. HTML5實(shí)戰(zhàn)與剖析之觸摸事件(touchstart、touchmove和touchend)
