Search code examples
grailsgrails-plugingspgrails-domain-class

Easiest way to render an Integer without thousands separator when using Fields plugin 2.0.2


I'm building a very basic app using Grails 3.0.2.

I have a domain class called Unit which contains, among others, a field called season, whose type is Integer and represents a year.

I have used the command generate-views to generate the scaffolded views.

Once running the application, when an existing instance is shown, the season is displayed using "," as thousands separator, and I want to remove it.

What is the easiest way to override (only) the format of the season?

For testing purposes, I have modified the show.gsp of the Unit class in the following manner:

<f:with bean="unit">
    <f:display />
    <f:display property="season" />
</f:with>

The <f:display property="season" /> displays simply "1,975", but ignores the label.

I've tried to understand the documentation of the Fields plugin, but I do not achieve what I want so it's obvious that I do not understand it.

I have added _displayWidget.gsp under views/_fields/unit/season (I have also tried under views/unit/season), but the outcome is exactly the same than before, so I assume the plugin is not taking them into account.

<g:formatNumber groupingUsed="false" number="${value}" />

Solution

  • I am not familiar with the _displayWidget.gsp convention, but a simpler approach might be to override the display of the unit.season property by adding a _display.gsp under views/_fields/unit/season containing just the following:

    ${value}