Child pages
  • Struts 2.3 to 2.5 migration

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


Users reported it was necessary for them to remove temp/work directory of their ApplicationServer/ServletContainer. Likely to force server to recompile JSPs. 

New Locale aware conversion logic

As from Struts 2.5.12 a new conversion logic was introduced which can affect your applications when using uncommon solutions. One of these is to use a number literals in Freemarker template. In such case Freemarker treats them as numbers (as BigDecimals) and Struts logic converts them to a string with decimal zero, see the example below:

Code Block
<@s.textfield name="userId" value=35/>

this snippet will produce the following Html control:

Code Block
<input type="text" name="userId" value="35.0"/>

To resolves this problem you must add quotes around the value:

Code Block
<@s.textfield name="userId" value="35"/>

This is due how Freemarker treats a number literals.