1

是否可以直接格式化在 struts 2 中的消息资源中有许多占位符的文本?

例如,考虑下面的键,它应该产生Transfer2000USDFromBobToMike

#resources.properties
filename=Transfer{0}From{1}To{2}

#resources_fa_IR.properties (consider this is correct translation in Persian!) 
filename={انتقال{0} از {1} به {2

在操作中,我想调用这样的东西(这是无效的!!):

getText("filename", amount,sourceAccount,destincationAccount);

我知道我可以先获取filename然后使用 java Formatter

另一方面,我找到了直接格式化消息的示例。如您所知,这是有效的

message properties
format.money = {0,number,\u00A4##0.00}

jsp
<s:text name="%{getText('format.money',{amount})}" />

我可以使用上述解决方案(快捷方式)来格式化filename

4

1 回答 1

2

您需要将参数作为数组或列表传递,因为getText方法是这样重载的:

getText(String key, String[] args)

getText(String aTextName, List<?> args)

例如:

getText("filename", new String[] { amount, sourceAccount, destincationAccount });
于 2013-10-13T13:52:59.807 回答