使用 ResourceBundle(locale.properties) 的 Java 本地化文本 Web 服务

标签 java web-services localization resourcebundle

由于某些原因,有一项功能已从 Web 应用程序移至 Web 服务。在 Web 应用程序方面,我们使用 FMT 标签来检索本地化文本,并且它过去工作正常。现在我需要在 Web 服务应用程序上实现相同的功能。为了实现这一点,我想到了使用 ResourceBundle 类,但是由于 Web 服务是无状态的,我不想调用 ResourceBundle.getBundle(文件名)

因为它可能会在每次我调用 Web 服务调用时调用 IO 操作。相反,由于我的语言环境 key 不是很大,我想到了将所有 ResourceBundle 加载到一个单独的 Map 中并传递 key 并获得捆绑类型的方法。

对此有疑问: a.) 这种方法好吗? b.) 我如何在单例映射中使用资源包加载所有语言环境,即有没有一种方法可以加载语言环境文件夹中提到的所有语言环境文件,而无需明确提及每个文件的名称。

提前感谢任何帮助。

关注,

爱国者

最佳答案

第一件事:我永远不会让我的网络服务“感知区域设置”。向用户显示本地化消息是调用者的工作。 Web 服务是后端组件,不关心语言,不关心屏幕分辨率。但无论如何...

...如果我无法就我的 Web 服务是“i18n 感知”讨价还价,我会在 java.util.Properties 中加载每个捆绑文件。对象,然后将所有这些对象放在一个 Map 中,并使其在应用程序的上下文中可用。

希望这对您有所帮助!

关于使用 ResourceBundle(locale.properties) 的 Java 本地化文本 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13263653/

相关文章:

java - 我如何在通用类中使用 intValue()

java - 如何将 ArrayList 添加到 2D ArrayList 而不覆盖之前的条目?

web-services - 如何在生产中处理 SSL 服务器证书?

java - 不使用注释 @HandleChain 实现 SOAPHandler

visual-studio - 将 Visual Studio 资源文件转换为文本文件?

java - 文件 -> byte[] -> 字符串 -> byte[] -> 文件转换

java - ArrayDeque.allocateElements 的实现(按位运算)

c# - ASP.Net 和 Web 服务

java - 如何在 JVM 中设置默认语言环境?

php - 本地化:子域、目录或域