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 信息提示函數(shù)并作返回或者轉(zhuǎn)向2. asp(vbs)Rs.Open和Conn.Execute的詳解和區(qū)別及&H0001的說(shuō)明3. CSS hack用法案例詳解4. PHP設(shè)計(jì)模式中工廠模式深入詳解5. 用css截取字符的幾種方法詳解(css排版隱藏溢出文本)6. ASP+ajax實(shí)現(xiàn)頂一下、踩一下同支持與反對(duì)的實(shí)現(xiàn)代碼7. .NET中l(wèi)ambda表達(dá)式合并問(wèn)題及解決方法8. ThinkPHP5實(shí)現(xiàn)JWT Token認(rèn)證的過(guò)程(親測(cè)可用)9. asp中response.write("中文")或者js中文亂碼問(wèn)題10. JSP數(shù)據(jù)交互實(shí)現(xiàn)過(guò)程解析
