Grails标记fieldValue
如何执行格式化?
我有一个Double
属性的域类。
class Thing {
Double numericValue
}
在GSP中,使用fieldValue
(由grails generate-all
创建)进行渲染:
${fieldValue(bean:thing, field:"numericValue")}
不幸的是,不显示3位小数后的数字(即,0.123456显示为0.123)。如何控制fieldValue
的格式?
请注意,我可以使用${thing.numericValue}
(没有格式化)或
<g:formatNumber>
,但我宁愿使用fieldValue
标记并指定格式。我只是不知道在哪里指定fieldValue
的格式。
答案 0 :(得分:2)
使用
<g:formatNumber number="${thing.numericValue}" format="\\$###,##0.00" /
&GT;
改为或使用
${g.formatNumber(number:thing.numericValue, format:'\\$###,##0.00'}
希望这有帮助。
答案 1 :(得分:0)
上述答案的替代方法是使用i8n文件。此选项很有用,因为它可以更改为&#34; All&#34;并取决于区域设置
如果您转到messages.properties文件,则可以添加以下内容
default.number.format = ###,##0.00
这将更改所有数字的默认格式。
如果您打算使用g:formatNumber标签,我建议将其用作
<g:formatNumber number="${myNumber}" formatName="myCustom.number.format" />
将代码条目添加到messages.properties文件中:
myCustom.number.format = ###,##0.00
通过这样做,您只需要在需要相似数字格式的地方使用代码,并且如果需要,可以在一个地方进行更改。
从grails docs中读取this article符合您的最佳利益。
OFFTOPIC:作为旁注,您还可以更改messages.properties文件中的默认日期格式,如下所示
default.date.format=dd 'de' MMMM 'de' yyyy