Grails GSP 选项卡字段值格式

发布于 2024-09-06 16:43:47 字数 599 浏览 6 评论 0 原文

Grails 标记 fieldValue 如何执行其格式化?

我有一个带有 Double 属性的域类。

class Thing {
    Double numericValue
}

在 GSP 中,使用 fieldValue(由 grailsgenerate-all 创建)进行渲染:

${fieldValue(bean:thing, field:"numericValue")}

不幸的是,小数点后 3 位之后的数字不会显示(即 0.123456 显示为 0.123) )。如何控制 fieldValue 的格式?

请注意,我可以只使用 ${thing.numericValue} (不进行格式化)或 ,但我宁愿使用 fieldValue 标记并指定格式。我只是不知道在哪里指定 fieldValue 的格式。

How does the Grails tag fieldValue perform its formatting?

I have an domain class with an Double attribute.

class Thing {
    Double numericValue
}

In GSP, the fieldValue is used (as created by grails generate-all) for rendering:

${fieldValue(bean:thing, field:"numericValue")}

Unfortunately digits after 3 decimal places are not displayed (ie, 0.123456 is displayed as 0.123). How do I control fieldValue's formatting?

Note that I could just use ${thing.numericValue} (which does no formatting) or
<g:formatNumber>, but I'd rather use the fieldValue tag and specify the formatting. I just don't know where to specify fieldValue's formatting.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

熊抱啵儿 2024-09-13 16:43:47

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

希望这会有所帮助。

Use
<g:formatNumber number="${thing.numericValue}" format="\\$###,##0.00" />
instead or use
${g.formatNumber(number:thing.numericValue, format:'\\$###,##0.00'}

Hope this helps.

绿光 2024-09-13 16:43:47

上述答案的替代方法是使用 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 文档。


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

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

An alternative to the answers above is using the i8n files. This option is useful since it can be changed for "All" and depending on the locale

if you go to the messages.properties file you can add the following

default.number.format = ###,##0.00

This will change the default format for all numbers.

If you plan on using the g:formatNumber tag i would suggest using it as

 <g:formatNumber number="${myNumber}" formatName="myCustom.number.format" />

and adding the code entry to the messages.properties files as:

myCustom.number.format = ###,##0.00

by doing this you will only need to use the code wherever you need a similar number format, and, if needed make the changes in a single place.

It would be in your best interests to read this article from the grails docs.


OFFTOPIC: As a side note you can also change the default date format in the messages.properties file as follows

default.date.format=dd 'de' MMMM 'de' yyyy 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文