國際化(internationalization)是設(shè)計和制造容易適應(yīng)不同區(qū)域要求的產(chǎn)品的一種方式。它要求從產(chǎn)品中抽離所有地域語言,國家/地區(qū)和文化相關(guān)的元素。換言之,應(yīng)用程序的功能和代碼設(shè)計考慮在不同地區(qū)運行的需要,其代碼簡化了不同本地版本的生產(chǎn)。開發(fā)這樣的程序的過程,就稱為國際化。
創(chuàng)新互聯(lián)專業(yè)成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計,集網(wǎng)站策劃、網(wǎng)站設(shè)計、網(wǎng)站制作于一體,網(wǎng)站seo、網(wǎng)站優(yōu)化、網(wǎng)站營銷、軟文發(fā)布平臺等專業(yè)人才根據(jù)搜索規(guī)律編程設(shè)計,讓網(wǎng)站在運行后,在搜索中有好的表現(xiàn),專業(yè)設(shè)計制作為您帶來效益的網(wǎng)站!讓網(wǎng)站建設(shè)為您創(chuàng)造效益。
Spring boot 搭配慢慢開始火起來的 beetl 模板 配置國際化
首先需要添加WebMvcConfigurer配置
/** * 設(shè)置攔截器 */ @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(localeChangeInterceptor()); } /** * 國際化切換攔截器 * * @return 國際化切換攔截器 */ @Bean public LocaleChangeInterceptor localeChangeInterceptor() { LocaleChangeInterceptor interceptor = new LocaleChangeInterceptor(); interceptor.setParamName("lang"); return interceptor; } /** * 國際化處理器 * * @return 國際化處理器 */ @Bean public LocaleResolver localeResolver() { SessionLocaleResolver slr = new SessionLocaleResolver(); //設(shè)置默認(rèn)區(qū)域, slr.setDefaultLocale(Locale.CHINA); return slr; }
然后自定義配置beetl
... @Autowired private WebApplicationContext wac; @Bean public BeetlTemplateCustomize beetlTemplateCustomize() { return new BeetlTemplateCustomize() { public void customize(GroupTemplate groupTemplate) { // 注冊全局共享變量 Map<String, Object> sharedVars = new HashMap<String, Object>(); groupTemplate.setSharedVars(sharedVars); // 注冊國家化函數(shù) groupTemplate.registerFunction("i18n", new I18nFunction(wac)); } }; }
然后配置i18n國際化函數(shù)
public class I18nFunction implements Function { private WebApplicationContext wac; public I18nFunction(WebApplicationContext wac) { this.wac = wac; } @Override public Object call(Object[] obj, Context context) { HttpServletRequest request = (HttpServletRequest) context.getGlobal(WebVariable.REQUEST); RequestContext requestContext = new RequestContext(request); String message = requestContext.getMessage((String) obj[0]); return message; } }
最后配置資源文件
這個資源文件路徑也是配出來的,不多介紹了......
測試:
在模板中添加${i18n('messageCode')} , 在url參數(shù)中添加lang=en 或者 lang=zh-CN
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。
文章名稱:Springboot+beetl+i18n國際化處理的方法
分享網(wǎng)址:http://chinadenli.net/article26/giodcg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、手機(jī)網(wǎng)站建設(shè)、電子商務(wù)、軟件開發(fā)、定制開發(fā)、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)