当前位置:  开发笔记 > 编程语言 > 正文

来自Java/Struts的ResourceBundle和替换表达式

如何解决《来自Java/Struts的ResourceBundle和替换表达式》经验,为你挑选了1个好方法。

如果我有一个资源包属性文件:

A.properties:

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.

没有方法是Resource Bundle的一部分来执行此操作.另外,我在Struts中,有没有办法使用MessageProperties来进行替换.



1> 小智..:

您正在寻找的类是java.text.MessageFormat; 打电话

MessageFormat.format("{0} This {1} a test", new Object[] {"Yes!!!", "is"});

要么

MessageFormat.format("{0} This {1} a test", "Yes!!!", "is");

将返回

"Yes!!! This is a test"

[不幸的是,我无法帮助Struts连接,虽然这看起来很相关.]

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有