栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

重新加载使用setBundle加载的属性文件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

重新加载使用setBundle加载的属性文件

您可以尝试一些方法。

<fmt:setBundle>
最终将调用
ResourceBundle.getBundle(String, Locale,ClassLoader)
,其中字符串将是您的基名,而类加载器将是
Thread.currentThread().getContextClassLoader()
。如果您使用的是JDK
1.6,则可以尝试使用
ResourceBundle.clearCache(ClassLoader)
清除捆绑包缓存。在Servlet过滤器中执行此操作,并将其与其他一些逻辑结合以确定何时应该清除缓存,将是有意义的。

另一个角度是更直接地控制属性文件的加载和JSTL的配置。同样,利用过滤器(忽略异常处理):

ClassLoader ctxLoader = Thread.currentThread().getContextClassLoader();URL propsURL = ctxLoader.getResource("opto-mapping.properties");URLConnection propsConn = propsURL.openConnection();long propsLastModified = propsConn.getLastModified();// decide if you want to reload...propsConn.setUseCaches(false);InputStream propsIn = propsConn.getInputStream();ResourceBundle propsBundle = new PropertyResourceBundle(propsIn);propsIn.close();LocalizationContext propsCtx = new LocalizationContext(propsBundle);ServletContext servletCtx = this.filterConfig.getServletContext();Config.set(servletCtx, Config.FMT_LOCALIZATION_CONTEXT, propsCtx);

然后,您可以仅

<fmt:message>
在页面中使用。你可以找到的文档
LocalizationContext
Config
中JSTL
API

可能有许多其他变体,但是请确保查看JDK 1.6
的较新版本

ResourceBundle
(包括
ResourceBundle.Control
),并牢记“底层”
API的功能,例如
URLConnection
,并熟悉可用的JSTL的更多编程方面。通过其API。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/574395.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号