【发布时间】:2016-12-22 00:02:42
【问题描述】:
背景
我正在使用 Maven 开发 Java Web 应用程序。我以这种路径和格式创建了 ResourceBundles:src/main/resources/i18n/LanguageBundle_xx_XX.properties。
一切都完美无缺,我的一切都在前端工作(使用 JSTL)。
问题
用户可以从前端创建 KEY/VALUE 对,然后以以下格式存储在 MySQL 数据库中:KEY | 价值
我有一个初始化 servlet,它在将用户带到第一个 jsp 页面之前完成所有设置。
在初始化 servlet 中,我从数据库中获取所有 KEY/VALUE 对,但现在我想将它们添加到 LanguageBundle 以便在显示第一个 jsp 页面时准备好翻译。
到目前为止我已经尝试过:
- 从数据库中返回所有键/值对
- 迭代返回的值
- 如果 KEY 在 LanguageBundle_xx_XX 中不存在
- 使用 property.put("KEY","VALUE") 添加 KEY/VALUE
现在,这确实添加了属性,但是如果我尝试访问该范围之外的特定属性(例如,其他 servlet、jsp),它会失败,因为它不存在于特定的 .properties 文件中。
我该如何解决这个问题?
【问题讨论】:
-
到目前为止,您创建的不是 ResourceBundle,而是属性文件。您需要研究创建 ResourceBundle 的各种方法,它是一个 object。
-
我觉得@EJP 的想法有一些优点。我有同样的。问题不在于属性文件,问题在于创建资源包,使其不仅从文件中读取,还从数据库中读取。也许看看stackoverflow.com/questions/2451049/…?
标签: java maven jsp servlets resourcebundle