最近碰到一个问题,当使用display标签的国际化配置文件时,切换语言失效。读不到相应的资源文件。
于是想了一个比较笨的方法来解决问题,就是在找到display源码中的读资源文件部分的代码。然后将源码存储资源文件内容的静态变量中在过滤器中重新读取相应语言的资源文件。
// display语言设置
TableProperties.clearProperties();
Properties overrideProperties = new Properties();
InputStream in = GetProperties.class
.getClassLoader()
.getResourceAsStream(
"displaytag_" + preferredLocale + ".properties");
overrideProperties.load(in);
TableProperties.setUserProperties(overrideProperties);
于是想了一个比较笨的方法来解决问题,就是在找到display源码中的读资源文件部分的代码。然后将源码存储资源文件内容的静态变量中在过滤器中重新读取相应语言的资源文件。
// display语言设置
TableProperties.clearProperties();
Properties overrideProperties = new Properties();
InputStream in = GetProperties.class
.getClassLoader()
.getResourceAsStream(
"displaytag_" + preferredLocale + ".properties");
overrideProperties.load(in);
TableProperties.setUserProperties(overrideProperties);