来自Java/Struts和replace表达式的ResourceBundle
如果我有一个资源包属性文件: A.财产:来自Java/Struts和replace表达式的ResourceBundle,java,jakarta-ee,struts,resourcebundle,Java,Jakarta Ee,Struts,Resourcebundle,如果我有一个资源包属性文件: A.财产: thekey={0} This is a test 然后我有加载资源包的java代码: ResourceBundle labels = ResourceBundle.getBundle("A", currentLocale); labels.getString("thekey"); 如何用一些值替换{0}文本 labels.getString("thekey", "Yes!!!"); 这样,输出结果如下所示: Yes!!! This is a te
thekey={0} This is a test
然后我有加载资源包的java代码:
ResourceBundle labels = ResourceBundle.getBundle("A", currentLocale);
labels.getString("thekey");
如何用一些值替换{0}文本
labels.getString("thekey", "Yes!!!");
这样,输出结果如下所示:
Yes!!! This is a test.
没有作为资源包一部分的方法可以执行此操作。另外,我在Struts中,是否有一些方法可以使用MessageProperties进行替换。您要查找的类是java.text.MessageFormat;特别是打电话
MessageFormat.format("{0} This {1} a test", new Object[] {"Yes!!!", "is"});
或
会回来的
"Yes!!! This is a test"
[不幸的是,我无法帮助Struts连接,尽管看起来很相关。]有一个类具有各种方法getMessage,其中一些方法使用参数插入到实际的消息中
例如:
"Yes!!! This is a test"
messageResources.getMessage("thekey", "Yes!!!");