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为要翻译的信息,配置在语言包中-->
  • 相关阅读:
    Codeblocks的常用Debug快捷键
    大整数乘法(POJ2389)
    简单深搜
    Windows安装时的几个命令(摘录)
    模拟栈的回溯,完全二叉树搜索,(ZOJ1004)
    生理周期,POJ(1006)
    next_permutation,POJ(1256)
    计算次数,POJ(1207)
    模拟,找次品硬币,Counterfeit Dollar(POJ 1013)
    深搜(DFS),Image Perimeters
  • 原文地址:https://www.cnblogs.com/oyx305/p/5086995.html
Copyright © 2011-2022 走看看