Неразрывный пробел в числовых полях Freemaker | Zhbert’s Home
Zhbert's Home
Домашняя страничка Zhbert'а

Неразрывный пробел в числовых полях Freemaker

СТАТЬИ / FREEMAKER / НЕРАЗРЫВНЫЙ ПРОБЕЛ В ЧИСЛОВЫХ ПОЛЯХ FREEMAKER


Есть у шаблонизатора Freemaker такая особенность, что числовые поля он пишет с использованием так называемого неразрывного пробела, который в коде HTML выглядит как &nbsp.

Неразры́вный пробе́л (non-breaking space) — элемент компьютерной кодировки текстов, отображающийся внутри строки подобно обычному пробелу, но не позволяющий программам отображения и печати разорвать в этом месте строку. Используется для автоматизации вёрстки, правила которой предписывают избегать разрыва строк в известных случаях (большей частью для удобочитаемости).

То есть по умолчанию цифровые блоки разделены пробелами по трем знакам, но при переносе строк число переносится целиком. Например: 1 203 с пробелом и 1203 без него.

Для чтения это, может быть, и удобно, но вот если такой вывод использовать для генерации ссылок в GET-запросах, получился полная абракадабра, из-за которой ничего не будет работать.

Решить проблему можно, указав шаблонизатору, что нужно использовать численное представление чисел, а не текстовое. Делается это указанием ?c после переменной. Например, так:

<td>${device.serialNumber?c}</td>
<td>${device.pinCode?c}</td>