Grails GSP选项卡fieldValue格式

时间:2010-06-22 06:10:53

标签: spring grails gsp

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的格式。

2 个答案:

答案 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