Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java代码中使用资源包文件?_Java_Resourcebundle - Fatal编程技术网

如何在Java代码中使用资源包文件?

如何在Java代码中使用资源包文件?,java,resourcebundle,Java,Resourcebundle,我在JSTLtaglib可以使用的资源包文件中获得了本地化消息。现在我还想在Java代码中使用这些消息。怎样才能做到呢 我需要的是类似于getMessage()的东西,用于键,类似于getParameterizedMessage()的东西,用于带参数的键 更新以下功能似乎有效: ResourceBundle messages = ResourceBundle.getBundle("messages"); String str = messages.getString("PF1"); Syste

我在JSTL
taglib可以使用的资源包文件中获得了本地化消息。现在我还想在Java代码中使用这些消息。怎样才能做到呢

我需要的是类似于
getMessage()
的东西,用于键,类似于
getParameterizedMessage()
的东西,用于带参数的键


更新以下功能似乎有效:

ResourceBundle messages = ResourceBundle.getBundle("messages");
String str = messages.getString("PF1");
System.out.println(str);

Object[] messageArguments = {
    "test"
};

MessageFormat formatter = new MessageFormat("");
formatter.applyPattern(messages.getString("IT4"));
String output = formatter.format(messageArguments);
System.out.println(output);

java.util.Properties
中加载消息,并创建一个helper类,如果给它一个键,它将从属性返回值


如果您正在查看I18支持,那么可以在
java.util.Properties
中找到开始时使用的基本方法加载消息,并拥有一个helper类,如果给它一个键,它将返回属性中的值


如果您正在查看I18支持,可以从中找到开始的基本信息

谢谢。我的参数化是
还是
{0}
重要吗?如何使用参数化?Java资源包将{}用于parameterization@mpratbhat非常感谢。我想我也希望看到参数化的实际应用。我知道如何使用标签,在那里它可以工作,但我也需要从Java代码中完成。谢谢。我的参数化是
还是
{0}
重要吗?如何使用参数化?Java资源包将{}用于parameterization@mpratbhat非常感谢。我想我也希望看到参数化的实际应用。我知道如何使用标签,但我也需要使用Java代码,你应该发布更新作为答案。这确实是正确的方法。不要忘记在
getBundle()
call中提供所需的区域设置。您应该将更新作为答案发布。这确实是正确的方法。不要忘记在
getBundle()
call中提供所需的区域设置。