在struts 2中使用多个参数格式化文本

时间:2013-10-13 11:24:11

标签: java struts2 format

是否可以直接格式化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

1 个答案:

答案 0 :(得分:2)

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

getText(String key, String[] args)

getText(String aTextName, List<?> args)

例如:

getText("filename", new String[] { amount, sourceAccount, destincationAccount });