【发布时间】:2010-01-12 09:31:19
【问题描述】:
我想在单击按钮时以编程方式重新加载 JSF 使用的 ResourceBundle。类路径中的 ResourceBundles(即 WEB-INF/classes)被外部应用程序修改,修改事件是我知道的。
【问题讨论】:
我想在单击按钮时以编程方式重新加载 JSF 使用的 ResourceBundle。类路径中的 ResourceBundles(即 WEB-INF/classes)被外部应用程序修改,修改事件是我知道的。
【问题讨论】:
试试
ResourceBundle.clearCache(Thread.currentThread().getContextClassLoader());
(你可以使用相同的方法不带参数)
来自javadoc
getBundle 工厂方法创建的资源包实例默认会被缓存,如果已经缓存,工厂方法会多次返回同一个资源包实例。 getBundle 客户端可以清除缓存,使用生存时间值管理缓存的资源包实例的生命周期,或者指定不缓存资源包实例。详见getBundle工厂方法、clearCache、ResourceBundle.Control.getTimeToLive、ResourceBundle.Control.needsReload的描述。
【讨论】: