我正在从Struts 1迁移到Struts 2.事情是迁移已经完成了#34;但未经测试。我负责测试后的错误修正。
我们遇到了一个奇怪的问题。带有struts1的项目自动进行数字格式化,所以每当我写1.0或1,0 struts时都接受这两个值,或者如果我写36,000个struts就是36000.但是在使用Struts2的新版本中,这种情况并没有发生,而且很遗憾我不能问那些上一阶段的人,因为他们不再和我一起工作了。例如,如果我在<s:textfield>
struts上写36,000只需要0.0。
之前(正常工作):
<html:text property="newRemun.inEmploymentTax2" style="width: 200px;"
errorStyleClass="inputError"value="${remunIncomeForm.newRemun.formattedInEmploymentTax2}"
readonly="${readonlyValue and not (edit4Eav or edit4Value)}"
disabled="${readonlyValue and not (edit4Eav or edit4Value)}"></html:text>
之后(未正确格式化):
<s:textfield name="newRemun.inEmploymentTax2" value="%{newRemun.formattedInEmploymentTax2}"
style="width: 200px;" readonly="#readonlyFlag" disabled="#readonlyFlag"
cssErrorClass="inputError"/>
所以我的问题是:在哪里可以检查是否有与数字格式相关的配置?
重要的是要知道:我已经调试了所有内容,并且从struts表单中获取getter和setter,在以前的版本中我获得了正确的值,而在当前版本中我没有得到格式化的值。并且没有JS格式化这些值。所以基本上问题出在价值达到形式之前。
问题还在于我们的应用程序在全球范围内使用,因此用户输入在国家方面有很大不同,但是直到现在我们进行了测试部署后才出现问题。例如,来自日本的用户输入了我们这样的数量&#34; 36,000,000&#34;和Struts2发疯了。
欢迎任何帮助或想法!也试图找到解决方案的想法:)