Search code examples
struts2localizationnumbersformatognl

Numbers not formatted properly in Struts 2


I am using following syntax to display a value in a proper number format, e.g. 1,250.00.

<s:property value="%{getText('{0,number,#,##0.00}',#plan.amount)}" />

However, it is not working. The plan is an object with a property amount.


Solution

  • If the value is printed like 1250.00 then it's not formatted properly. The method getText() has many overloaded methods and which method is used is determined by the parameter's types and count.

    To pass arguments to the getText() method you can use OGNL list construction {}. And the arguments should be listed as single values, not "list of object". Perfectly it should be list of Double with one element inside the list.

    <s:set var="amount" value="%{1250.0}"/>
    <s:property value="%{getText('{0,number,#,##0.00}',{#amount})}" />