防止Grails fieldValue格式化数字

时间:2019-04-09 15:14:34

标签: grails grails-plugin

我将Grails 3.3.9与Fields plugin一起使用。此插件在此处的第862行调用数字上的fieldValue标记。 FormFieldsTagLib.groovy。并且由于某种原因,即使en_US语言环境的默认格式为“ 0”,该fieldValue标记也使用逗号来格式化数字,但不应添加逗号。是否有配置可阻止在调用fieldValue标记时Grails添加逗号?现在,如果该bean具有值为2019的Integer属性,它将呈现为2019。

要重新创建,只需执行grails create-app myapp,然后创建具有整数属性的域类。启用脚手架,保存记录并取回。您将看到其中包含逗号。

1 个答案:

答案 0 :(得分:0)

我通过在ValidationTaglib.groovy中的代码进行调试找到了逗号背后的原因。它正在PropertyEditor上调用asText方法,如下所示:ValidationTagLib。 Grails注册属性编辑器here。因此,要解决此问题,您必须定义自己的Integer编辑器。您必须定义自己的PropertyEditorRegistrar来注册自定义编辑器,然后将其声明为here定义的Spring bean。