我修改了资源文件后,刷新页面,读出来的label还是修改之前的,这说明我掉用的ResourceBundle.clearCache()没有将缓存清理掉,为什么?private static String getStringValue(String key, String bundle,
Locale locale) {
if (StringUtil.isNull(bundle)) {
int i = key.indexOf(':');
if (i > -1) {
bundle = key.substring(0, i);
key = key.substring(i + 1);
}
}
String resource;
if (StringUtil.isNull(bundle))
resource = APPLICATION_RESOURCE_NAME;
else
resource = "com.landray.kmss." + bundle.replaceAll("-", ".") + "."
+ APPLICATION_RESOURCE_NAME;
try {
ResourceBundle resourceBundle = null;
ResourceBundle.clearCache();
if (locale == null)
resourceBundle = ResourceBundle.getBundle(resource);
else
resourceBundle = ResourceBundle.getBundle(resource, locale);
System.out.println(resourceBundle.hashCode());
return resourceBundle.getString(key);
} catch (Exception e) {
try {
if (locale == null) {
return null;
} else {
return ResourceBundle.getBundle(resource).getString(key);
}
} catch (Exception e2) {
return null;
}
}
}