struts2将字符串格式化为不带逗号的数字,并修剪尾部的零



我正在使用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.IollegalArgumentException:无法将给定对象格式化为数字"

更新:我尝试了相同的代码,给出了一个Integer,然后它就工作了。像

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

行动类

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

DB类

PolicyObj.setPolicyNumber("0000111111");

JSP代码中的小更改。我把字符串转换成数字有点上当了。

这是代码。

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

乘以1是我做的一个更改,它起作用了。

Struts2使用MessageFormat API进行格式化,如果查看java.text.NumberFormat类,则不存在将String作为参数的format方法。

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

最新更新