1

我正在使用 Struts2 将字符串格式化为带有修剪尾随零的数字。

消息属性:

format.number={0,number,#}

jsp代码:

<s:text name="format.number">
    <s:param name="value" value="%{key.policyNumber}" />
</s:text>

key.policyNumber 是一个字符串,我收到错误为“错误 500:java.lang.IllegalArgumentException:无法将给定对象格式化为数字

更新:我尝试了相同的代码给一个整数然后它工作。像

<s:text name="format.number">
    <s:param name="value" value="%{key.orderNum}" />
</s:text>

动作类

Map<PolicyObj, CustInfo> mapObj = getDBPolicyDetails();

在数据库类

PolicyObj.setPolicyNumber("0000111111");
4

2 回答 2

1

JSP 代码的小改动。我通过将字符串转换为数字来欺骗。

这是代码。

<s:text name="format.number">
    <s:param name="value" value="key.policyNumber * 1" />
</s:text>

乘以 1是我所做的一项改变,它奏效了。

于 2012-07-26T03:31:15.770 回答
0

Struts2 使用MessageFormatAPI 进行格式化,如果您查看java.text.NumberFormat该类,则没有format将 String 作为参数的方法。

我认为您不能以这种方式使用格式。您必须先转换字符串,然后才能使用 Struts2 以这种方式对其进行格式化。

于 2012-07-26T01:38:19.523 回答