【发布时间】:2014-02-01 04:29:06
【问题描述】:
我正在处理 Spring 3 项目,我需要为土耳其货币格式化 Long 字段。应用程序的默认Locale 是en_US。我使用@NumberFormat注解如下:
@NumberFormat(style=NumberFormat.Style.CURRENCY)
public Long getBudgetLimit() {
return budgetLimit;
}
注释在英语语言环境中起作用并格式化表单字段。但是,我需要为此字段使用土耳其语语言环境。有没有办法设置单个字段或页面的区域设置与应用程序的区域设置不同?
编辑:我自己找到了答案。在控制器中使用自定义编辑器,如下所示:
NumberFormat numberFormat = NumberFormat.getNumberInstance(new Locale("tr","TR"));
dataBinder.registerCustomEditor(Long.class, new CustomNumberEditor(Long.class,numberFormat, true));
并且不要使用@NumberFormat 注释。出于同样的原因,它给了我一个错误。
【问题讨论】:
标签: spring locale number-formatting