首页 > 解决方案 > 如何从相应的语言环境属性文件中加载所有属性

问题描述

有没有办法根据会话语言环境将 Class.properties/Class_locale.utf8.properties 文件中的所有属性加载到 Properties 对象。

标签: internationalizationwicket

解决方案


最简单的方法是使用java.util.Properties#load(java.io.InputStream).

要获取 InputStream,您可以使用

String resourceName = SomeComponent.class.getSimpleName() + ".properties";
// String resourceName = SomeComponent.class.getSimpleName() + "_" + Session.get().getLocale() + ".properties";
SomeComponent.class.getResourceAsStream(resourceName);

Wicket API 中没有任何内容可以为您提供完整的属性。最接近的是:org.apache.wicket.resource.loader.IStringResourceLoaderorg.apache.wicket.resource.IPropertiesFactory以及它们的实现。


推荐阅读