Struts默认语言总去找***_en.properties? 为了国际化,配置了几个语言文件,但是该用到Struts默认语言时却总去使用***_en.properties,而不是去使用默认的语言文件。如果删掉_en的文件后,当浏览器语言设置为其他语言时,就会正常地去使用默认的语言文件了。太奇怪了,为什么呢?谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 浏览器的语言设置,比如IE的Internet选项->语言,把中文(中国)[zh-cn]或者中文[zh]移动或添加到第一个 没看清楚,可能你已经知道怎么解决了。产生这个的原理和java.util.Locale有关。所有的资源束(java.util.ResourceBundle)都是用Locale来做国际化的。而Struts的处理某个客户请求时,将浏览器的语言设置作为对应的Locale 不好意思,我可能没说清楚比如,我有几个资源文件applicationResources.propertiesapplicationResources_en.propertiesapplicationResources_fr.properties当我将浏览器语言设置为汉语(zh-CN)后,我期望的是应该使用默认的资源文件applicationResources.properties,但实际上从显示的文字内容看,使用的却是英文的applicationResources_en.properties。而且如果我把applicationResources_en.properties删掉,就正常了,使用的就是默认的资源文件了。很诡异…… 这个说的很清楚啦,看下程式里面 Local是怎么设置的,还是说用默认的。 浏览器会根据当前默认语言调用不同的属性文件,如果不行话,你可以在后台设置读取部署文件 request.getSession().setAttribute(Globals.LOCALE_KEY, Locale.CHINA); 没有改动locale啊,页面上特意读取了request.getLocale的值也是跟浏览器设置的语言一致的。资源文件里并没有对应的语言文件,应该去按照默认的资源文件显示,可是问题是却按照英文的资源文件显示了。 struts.properties默认找这个,其它的调用否则默认显示的是英文 哦?必须是叫struts.properties这个名字么?我已经在struts-config.xml里面配置了<message-resources parameter="applicationResources" />了啊还需要加一个struts.properties?内容跟默认的applicationResources.properties一样??多谢! 实在找不到就设置这个。建议看一下有没有在struts-config中<controller>中设置过locale参数为false,而且服务器的系统语言-区域设置为英文。最后确保你的properties本身没有搞错 没有设置过struts-config中没有设置过locale参数为false服务器的语言应该是英文。我越来越糊涂了,为什么只要有_en文件的时候就拿它当默认呢?我不想要这样的效果呀。:( 我越来越糊涂了,为什么只要有_en文件的时候就拿它当默认呢?我不想要这样的效果呀。:(不是这个原因,无论有没有_en文件,默认都是_en。只是你删掉_en文件以后,struts再随便找一个,正好就找到_zh了。不信你可以删掉_en和_zh,只留另外一个文件,那struts就用它了。我以前搞Struts的时候似乎也碰到类似的问题,但是我不记得最后怎么弄好了。遗憾! jsp+ajax问题 求救啊,查询语句不会写 Hibernate 持久化类,更新同步问题 提交处理后出现的乱码问题,急需解决!! jsp的radio的checked问题 jsp访问asp 过滤字符串问题,在线等。。。。。 在apache2+tomcat4環境下,怎樣設置使我輸入ip地址後,自動運行index.jsp 我的jsp 请求帮助? dojo的TabContainer在Firefox显示不完整 java实现网络存储
比如,我有几个资源文件
applicationResources.properties
applicationResources_en.properties
applicationResources_fr.properties
当我将浏览器语言设置为汉语(zh-CN)后,我期望的是应该使用默认的资源文件applicationResources.properties,但实际上从显示的文字内容看,使用的却是英文的applicationResources_en.properties。
而且如果我把applicationResources_en.properties删掉,就正常了,使用的就是默认的资源文件了。
很诡异……
request.getSession().setAttribute(Globals.LOCALE_KEY, Locale.CHINA);
否则默认显示的是英文
多谢!
实在找不到就设置这个。建议看一下有没有在struts-config中<controller>中设置过locale参数为false,而且服务器的系统语言-区域设置为英文。最后确保你的properties本身没有搞错
服务器的语言应该是英文。
我越来越糊涂了,为什么只要有_en文件的时候就拿它当默认呢?我不想要这样的效果呀。:(
只是你删掉_en文件以后,struts再随便找一个,正好就找到_zh了。不信你可以删掉_en和_zh,只留另外一个文件,那struts就用它了。
我以前搞Struts的时候似乎也碰到类似的问题,但是我不记得最后怎么弄好了。遗憾!