【问题标题】:Grails GSP tab fieldValue formattingGrails GSP 选项卡字段值格式
【发布时间】:2010-06-22 06:10:52
【问题描述】:

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

【问题讨论】:

标签: spring grails gsp


【解决方案1】:

使用 <g:formatNumber number="${thing.numericValue}" format="\\$###,##0.00" /> 代替或使用 ${g.formatNumber(number:thing.numericValue, format:'\\$###,##0.00'}

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    上述答案的替代方法是使用 i8n 文件。此选项很有用,因为它可以更改为“全部”并取决于语言环境

    如果您转到 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 文档中的 this article 将符合您的最大利益。


    OFFTOPIC:作为旁注,您还可以更改 messages.properties 文件中的默认日期格式,如下所示

    default.date.format=dd 'de' MMMM 'de' yyyy 
    

    【讨论】:

      猜你喜欢
      • 2013-05-11
      • 1970-01-01
      • 2017-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-08
      • 1970-01-01
      相关资源
      最近更新 更多