Struts 中的数字格式不正确 2
Numbers not formatted properly in Struts 2
我正在使用以下语法以正确的数字格式显示值,例如1,250.00
.
<s:property value="%{getText('{0,number,#,##0.00}',#plan.amount)}" />
但是,它不起作用。 plan
是一个具有 属性 数量的对象。
首先,如果你想显示一个列表中的多个值,你需要一个迭代器;
其次,如果 plan
是具有 getter 方法的操作中的列表
public List<Something> getPlan() { return plan; }
那你就不用把#
放在变量前面了。
适合您的案例的正确代码是:
<s:iterator value="plan">
<s:property value="getText('{0,number,#,##0.00}',{amount})" />
</s:iterator>
关于这个话题有一个related Q&A。
编辑
既然你有
<s:iterator value="list" var="plan" status="status">
<div class="values">
$ <s:property value="%{getText('{0,number,#,##0.00}',#plan.amount)}"/>
</div>
</s:iterator>
那么应该是:
<s:iterator value="list">
<s:property value="getText('{0,number,#,##0.00}',{amount})" />
</s:iterator>
如果打印的值类似于 1250.00
,那么它的格式不正确。方法getText()
有很多重载方法,使用哪个方法由参数的类型和数量决定。
要将参数传递给 getText()
方法,您可以使用 OGNL 列表构造 {}
。参数应列为单个值,而不是 "list of object"。完美的应该是 Double
的列表,列表中有一个元素。
<s:set var="amount" value="%{1250.0}"/>
<s:property value="%{getText('{0,number,#,##0.00}',{#amount})}" />
我正在使用以下语法以正确的数字格式显示值,例如1,250.00
.
<s:property value="%{getText('{0,number,#,##0.00}',#plan.amount)}" />
但是,它不起作用。 plan
是一个具有 属性 数量的对象。
首先,如果你想显示一个列表中的多个值,你需要一个迭代器;
其次,如果 plan
是具有 getter 方法的操作中的列表
public List<Something> getPlan() { return plan; }
那你就不用把#
放在变量前面了。
适合您的案例的正确代码是:
<s:iterator value="plan">
<s:property value="getText('{0,number,#,##0.00}',{amount})" />
</s:iterator>
关于这个话题有一个related Q&A。
编辑
既然你有
<s:iterator value="list" var="plan" status="status"> <div class="values"> $ <s:property value="%{getText('{0,number,#,##0.00}',#plan.amount)}"/> </div> </s:iterator>
那么应该是:
<s:iterator value="list">
<s:property value="getText('{0,number,#,##0.00}',{amount})" />
</s:iterator>
如果打印的值类似于 1250.00
,那么它的格式不正确。方法getText()
有很多重载方法,使用哪个方法由参数的类型和数量决定。
要将参数传递给 getText()
方法,您可以使用 OGNL 列表构造 {}
。参数应列为单个值,而不是 "list of object"。完美的应该是 Double
的列表,列表中有一个元素。
<s:set var="amount" value="%{1250.0}"/>
<s:property value="%{getText('{0,number,#,##0.00}',{#amount})}" />