9

I have a jsp in which I use spring s:message tag

<s:message code="application.success" arguments="${applicationRefId}" />

applicationRefId is a long variable added to the model.

In my resource bundle, I have defined message code quite regularly as

application.success=Application {0} successfully submitted

But this results in

Application 74,311 successfully submitted

Here my long value is formatted with commas. I have two questions - Why does this formatting happen, by default, and how can I prevent it?

Sumit Jain
  • 1,484
  • 2
  • 25
  • 44

1 Answers1

12

As far as I know you can either

  1. convert applicationRefId to String before passing it to messageTag

  2. or apply formatting in your resource bundle

     application.success=Application {0, number, #} successfully submitted
    

Second solution documentation

From the MessageFormat documentation

FormatElement:
     { ArgumentIndex }
     { ArgumentIndex , FormatType }
     { ArgumentIndex , FormatType , FormatStyle }

And this chart enter image description here

Ratul Sharker
  • 7,484
  • 4
  • 35
  • 44
ikumen
  • 11,275
  • 4
  • 41
  • 41
  • 7
    thanks, the second solution worked perfectly. Do you know of any api reference for custom formatting in resource bundle. – Sumit Jain Sep 10 '13 at 09:37