当前位置:首页软件开发Java → 日记 - spring配置了国际化,后台如何知道当前页面是何种语言

日记 - spring配置了国际化,后台如何知道当前页面是何种语言

时间:2020-12-10 00:36:25来源:互联网我要评论(0)

idea13.1.1+maven3+tomcat7.0.53.

spring3.2.8+hibernate4

 

由于spring支持国际化,所以在application.xml中进行配置就可以使用了。

    <mvc:interceptors>

        <bean >

            <property name="paramName" value="language"/>

        </bean>

    </mvc:interceptors>

 

    <bean id="localeResolver"

          >

        <property name="defaultLocale" value="zh_CN"/>

    </bean>

 

下面这段配置要将路径指向你的properties文件,什么properties文件?下面揭晓

    <bean id="messageSource"

          >

        <property name="basename" value="classpath:messages"/>

        <property name="defaultEncoding" value="UTF-8"/>

        <property name="useCodeAsDefaultMessage" value="true" />

    </bean>

 

配置后大家需要了解以下几点,一般的国际化是用一个类叫Locale来做的,而上面这些配置是把Locale放到了session里面。你问我怎么知道的?我因为想取出这个保存进去的Locale,但是找不到这个session的name,所以跑去看源码,然后就知道了。

 

配置以后你还需要3个properties文件分别来装中文内容、英文内容、默认内容(就是你一进网页默认显示的内容)。命名方式要像下图一样,不然你的框架找不到你的properties文件的。



 

properties中的内容以下图的key=value的模式来写,注意!!中英默3份properties文件里的key要完全相同,只有value是不同的。



 

最后该来看看如何让中英在页面上替换

 

<a href="?language=zh_CN">中文</a> | <a href="?language=en_US">English</a>

通过上面这两个a标签来简单的切换,其实也就是在地址后面加个  ?language=zh_CN/en_US

 

<spring:message code="将key放在这个双引号里" />

然后上面这个标签就可以用来替换你原文中需要中英切换的内容了

 

本文着重的不是中英切换,而是如何在后台取得session中保存的中英标识。

String LOCALE_SESSION_ATTRIBUTE_NAME = SessionLocaleResolver.class.getName() + ".LOCALE";

String locale = request.getSession().getAttribute(LOCALE_SESSION_ATTRIBUTE_NAME);

这样就可以了

 

 

相关文章

网友评论

热门评论

最新评论

发表评论 查看所有评论()

昵称:
表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
字数: 0/500 (您的评论需要经过审核才能显示)

关于万荚 | 联系方式 | 发展历程 | 版权声明 | 帮助(?) | 网站地图 | 友情链接

Copyright 2005-2020 16WJ.COM 〖万荚网〗 版权所有 桂ICP备18000060号 |

声明: 本站所有文章来自互联网 如有异议 请与本站联系