You don't need to use JSTL's fmt, Struts2 has inbuilt Formatting Utilities:
Then instead of
<s:textfield name="price" value="%{price}" />
<!-- output: 6.0E7 -->
use for example
<s:textfield name="price" value="%{getText('{0,number,#,##0.00}', {price})}" />
<!-- output: 6000000.00 -->
Also read about Type Conversion, and keep in mind that 6.0E7 is Scientific Notation (read more here).