[Spring]Spring Mvc实现国际化/多语言

2023-03-11,,

1.添加多语言文件*.properties

F64_en_EN.properties详情如下:

F60_G00_M100=Please select data.
F60_G00_M101=Are you sure you want to delete?
F60_G00_M102=The data is changed. Do you want to save it ?

2、配置springMVC配置文件

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
        <property name="basenames">
            <list>                <!--后续开发中需要国际化的模块添加到这里即可-->
                <value>i18n.Example</value>
            </list>
        </property>
        <property name="defaultEncoding" value="UTF-8" />
        <property name="useCodeAsDefaultMessage" value="true" />
</bean>

<!--设置cookie解释器分析设置的国际化多语言 -->
<bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" />
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
        <property name="cookieMaxAge" value="315360000" />
        <property name="defaultLocale" value="en_EN" />
        <property name="cookieName" value="Language">        </property>
</bean>

3.在登录成功后修改运行环境的语言

// 根据选择的语言种类设置配置文件中的localeResolver的内容
if ("EN".equals(logonUser.getLanguage())) {
    Locale localeEN = new Locale("en", "EN");
    localeResolver.setLocale(request, response, localeEN);
} else if ("JA".equals(logonUser.getLanguage())) {
    Locale localeJP = new Locale("ja", "JP");
    localeResolver.setLocale(request, response, localeJP);
} else {
    Locale localeEN = new Locale("en", "EN");
    localeResolver.setLocale(request, response, localeEN);
}

 4.定义取得文言内容的方法

protected String getMessage(String code,Object... params){
        return messageSource.getMessage(code, params, LocaleContextHolder.getLocale());
}

5.取得文言内容

String title = getMessage("RF64_L001");

[Spring]Spring Mvc实现国际化/多语言的相关教程结束。

《[Spring]Spring Mvc实现国际化/多语言.doc》

下载本文的Word格式文档,以方便收藏与打印。