JSTL fmt:消息和资源包

我想根据语言环境从资源包中设置我的表的“dir”属性。

这是片段:

 <table align=center class="" dir=> 

当页面呈现时我得到了这个:

  

我有两个英语和阿拉伯语资源包。

registration.direction = ltr – >英文

registration.direction = rtl – >阿拉伯语

请告诉我我做错了什么? dir应该具有“ltr”或“rtl”,具体取决于区域设置。

谢谢

BR SC

两件事情

1)我会添加一个变量来存储消息结果

  

然后

2)我会用你的代码执行以下操作

    

现在,就资源包而言,通常您应该为资源包提供以下结构

 /foo/bar/MyResourceBundle.properties /foo/bar/MyResourceBundle_en.properties /foo/bar/MyResourceBundle_en_US.properties /foo/bar/MyResourceBundle_[_COUNTRY[_VAR]].properties 

如果您的捆绑包没有以这种方式构建,可能是您的一些问题。

确保在MyResourceBundle中使用合理的默认值定义了预期可用的所有键。

我正在修改这个答案,因为我不确定我的评论是否在隐藏function中丢失了。

事实上你正在使用Struts 2,我的印象是你正在使用i18n拦截器。 拦截器将当前区域设置存储在名为WW_TRANS_I18N_LOCALE的sesion变量中。 因此,您应该能够访问它并使用以下内容为JSTL标记设置区域设置:

  

希望对你有用。