ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

弹簧局部敏感数据

2019-10-23 19:19:29  阅读:161  来源: 互联网

标签:resourcebundle spring spring-mvc internationalization


使我的Web应用适应远程用户浏览器的语言设置时遇到一些问题.
我为此使用了ResourceBundleMessageSource.看起来像这样:

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
    <property name="basename" value="resources/messages" /> </bean>

我有两个.properties文件:

> messages.properties
> messages_ru.properties

它们位于src / resources / messages中.

我想以这种方式配置我的应用程序,以便当远程用户浏览器语言设置包含俄语时,我的应用程序应使用俄语消息(messages_ru),否则(如果未配置语言或不是俄语),则应使用meessages.properties(它包含英文消息).

当我在浏览器中设置俄语时,它可以正常工作.当我删除所有设置时,它也会显示俄语(我认为这取决于系统区域设置).当我设置另一种语言时,它也会向我显示俄语消息.

使我的应用显示英语消息的唯一方法是将messages.properties重命名为messages_en.properties并在浏览器英语lang中进行设置.但是我想让我的应用程序适用于所有语言设置(当使用俄语时,如果需要的话,以及英语用于其他设置和其他国家/地区).

有任何想法吗?

解决方法:

你需要设置

<bean id="messageSource" 
     class="org.springframework.context.support.ReloadableResourceBundleMessageSource">  
    <property name="basename" value="resources/messages" />
    <property name="fallbackToSystemLocale" value="false" />
</bean> 

在这种情况下,Spring将使用messages.properties作为后备,因此它应在应用程序的“默认”语言环境中包含消息.

标签:resourcebundle,spring,spring-mvc,internationalization
来源: https://codeday.me/bug/20191023/1914888.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有