关于i18n标记库在国际化jsp时候的缓存问题。

sunboy21th 2007-07-18 01:29:57
环境 tomcat 5 + j2ee1.5 (j2se 6.0)
没有使用任何框架,就是servlet+jsp

我在登录界面,做了一个机制用来切换语言:
在session里面设立一个userLocale的属性,
然后使用i18n标记库为每个jsp页面做国际化输出时指定localeRef为userLocale
第一次切换语言时候(zh_CN到en_US)的结果是正确的。

问题在于,如果我在切换回zh_CN却变不回来了。只有重新启动tomcat才可以。后来发现,吧登录界面的jsp稍微改以下(jsp这时候重新编译为servlet),也可以出现正确结果。
尝试了很多办法:
1、为jsp页面增加清除缓存的meta标记和jsp方法,结果不行
2、升级j2se到6.0,因为号称6.0再国际化方面有所改进,就是resourceBundle可以调用clearCache()方法,强行清除cache,结果还是不行。

现在是在找不到太好的办法了,不知道各位大侠有没有好办法,让我的jsp灵活切换语言。谢谢!
...全文
324 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunboy21th 2007-07-19
  • 打赏
  • 举报
回复
知道问题的原因了,首先,使用localeRef会产生缓存问题,用locale替换就好了

另外,message标记中要指名bundleRef为那个bundle的id
sunboy21th 2007-07-18
  • 打赏
  • 举报
回复
自己顶

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧