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. 如何基于python3和Vue實(shí)現(xiàn)AES數(shù)據(jù)加密2. Java 基于UDP協(xié)議實(shí)現(xiàn)消息發(fā)送3. 10個(gè)提供免費(fèi)PHP腳本下載的網(wǎng)站4. php5.6不能擴(kuò)展redis.so的解決方法5. ASP.NET MVC前臺(tái)動(dòng)態(tài)添加文本框并在后臺(tái)使用FormCollection接收值6. PHP獲取時(shí)間戳等相關(guān)函數(shù)匯總7. Java向Runnable線程傳遞參數(shù)方法實(shí)例解析8. PHP設(shè)計(jì)模式(四)原型模式Prototype實(shí)例詳解【創(chuàng)建型】9. Python編寫nmap掃描工具10. python 爬取嗶哩嗶哩up主信息和投稿視頻
