zoukankan      html  css  js  c++  java
  • springmvc 国际化

    spring-mvc.xml配置文件:

    <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
        <!-- 国际化信息所在的文件名 ,以messages开头 -->                     
        <property name="basename" value="messages" />   
        <!-- 如果在国际化资源文件中找不到对应代码的信息,就用这个代码作为名称  -->               
        <property name="useCodeAsDefaultMessage" value="true" />    
    </bean>

    controller:

    package com.tomtop.portal.ctl;
    
    import java.util.Locale;
    
    import javax.servlet.http.HttpServletRequest;
    
    import org.apache.log4j.Logger;
    import org.springframework.context.i18n.LocaleContextHolder;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.ResponseBody;
    import org.springframework.web.servlet.i18n.SessionLocaleResolver;
    
    @Controller
    public class LocaleCtl {
        /**
         * 语言切换
         */
        @RequestMapping(method = RequestMethod.GET, value = "/lang")
        @ResponseBody
        public String lang(HttpServletRequest request) {
            String langType = request.getParameter("langType");
            if (langType.equals("zh_cn")) {
                Locale locale = new Locale("zh", "CN");
                request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME, locale);
            } else if (langType.equals("en")) {
                Logger.getLogger(LocaleCtl.class).info("langtype=" + langType);
                Locale locale = new Locale("en", "US");
                request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME, locale);
            } else
                request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME,
                        LocaleContextHolder.getLocale());
            return null;
        }
    }

    新建语言包文件,如图,内容为:somewords=translatedwords

    页面中使用:

    <spring:message code="welcome"></spring:message>  <!--code为要翻译的信息,配置在语言包中-->
  • 相关阅读:
    js解码
    node.js关于传送数据的二三事
    node下新建工程
    mysql配置
    mongodb配置及简单示例
    vue使用watch 观察路由变化,重新获取内容
    vue 封装方法
    ES6,import时如何正确使用花括号'{ }'
    css字体图标的制作
    vue实现淘宝商品详情页属性选择功能
  • 原文地址:https://www.cnblogs.com/oyx305/p/5086995.html
Copyright © 2011-2022 走看看