Как я могу изменить способ GRAILS GSP fieldValue форматирует целые числа?

У меня есть поле в моем объекте домена, который я определяю как целое число ...

Integer minPrice

Затем я получаю к нему доступ на странице GSP следующим образом:

${fieldValue(bean: myBean, field: 'minPrice')}

и что я получаю в моем HTML ...

100,000

это не целое число, этоСтрока. Что еще хуже?s отформатированная строка в определенной локали.

Это проблема, потому что у меня есть элемент управления SELECT в HTML FORM, который имеет (неординарный) диапазон значений для minPrice, который я хочу сохранить в своем доменном объекте как целые числа, и я неЯ не хочу хранить индекс для некоторого массива значений, между которыми мне приходится многократно отображаться, я хочу само значение.

Мой элемент управления выглядит следующим образом ...


Когда я получаю значение из поля SELECT для отправки обратно на сервер, оно правильно имеет целочисленное значение, которое я сохраняю. Однако обратная поездка никогда предварительно не выбирает правую строку в раскрывающемся списке, поскольку значение - это строка, разделенная запятыми.

Это хорошо работает в другом месте в моем коде для небольших чисел, где форматирование запятой не 't вступают в игру, и круговое прохождение в и из SELECT успешно. Но ценности>999 нет работа.

Документы говорят "Этот тег будет проверять bean-компонент, который был объектом привязки данных, и получать значение поля либо из первоначально переданного значения, содержащегося в bean-компоненте.s объект ошибок, заполняющий во время привязки данных или из значения bean'асобственность Как только значение будет получено, оно будет автоматически закодировано в HTML. "

Это'Это последний бит, которого я хочу избежать, поскольку он, кажется, форматирует целые числа. Итак, какую небольшую часть магии Grails / GSP мне нужно знать, чтобы я мог вывести мое Integer как целое число в мой SELECT и предварительно выбрать правильный ряд?

РЕДАКТИРОВАТЬ: Я попробовал кое-что еще, основываясь на ответах ниже, с довольно разочаровывающими результатами ...

Если я поставлю тег в моем Я получаю код страницы в виде текста в браузере.


Используя тег числового формата из GSP для моего значения типа Integer 100000, как это ...

var x = ;

дает100, Помните, чтоfieldValue отдает100,000так что это не удивительно.

Если я использую jsp taglib, как это ...


var y = ;

Я получаю сообщение об ошибке от компилятора страницы.Cannot format given Object as a Number

Я думаю, что у меня есть более серьезное беспокойство, чем я могуКажется, что значение Integer в моем коде получается как целое число, если оно больше 999 из-за поведения по умолчанию (и не настраиваемого) директивы fieldValue. Однако моя конкретная проблема невозможности предварительно выбрать целочисленное значение в элементе управления SELECT не исчезла. На данный момент ям в убыток.

У кого-нибудь есть еще идеи?

Ответы на вопрос(8)

Ваш ответ на вопрос