Simple FreeMarker random number generator

FreeMarker doesn’t have a random number generator function. I needed a really simple solution that would allow me to pick a random image URL to be displayed on the homepage.

<#--
* Generates a "random" integer between min and max (inclusive)
*
* Note the values this function returns are based on the current
* second the function is called and thus are highly deterministic
* and SHOULD NOT be used for anything other than inconsequential
* purposes, such as picking a random image to display.
-->
<#function rand min max>
  <#local now = .now?long?c />
  <#local randomNum = _rand +
    ("0." + now?substring(now?length-1) + now?substring(now?length-2))?number />
  <#if (randomNum > 1)>
    <#assign _rand = randomNum % 1 />
  <#else>
    <#assign _rand = randomNum />
  </#if>
  <#return (min + ((max - min) * _rand))?round />
</#function>
<#assign _rand = 0.36 />

I’ve added this function to the FreeMarker Spring extensions I’ve been building up. You might use it in your code like so:

<img src="<@spring.url "/images/" + springx.rand(1, 10) + ".jpg" />" />

Note that there are obvious issues with this function. Aside from being based heavily on the second the function is called, you’ll notice that the min and max have less probability of being generated as the other values…what? I said it was simple.

2,463 thoughts on “Simple FreeMarker random number generator”

  1. Недорогой комплексный стоимость ремонта ванной комнаты в квартире. Монтаж сантехники установка ванны и душевой кабины. Рассчитайте стоимость работ для создания функционального санузла.

  2. Привет всем Каждый день всё больше людей задумываются о том как распорядиться неиспользованными упаковками лекарств которые остались дома после курса лечения. Предварительную информацию можно получить без визита в офис просто отправив фотографию. Специализированный выкуп лекарств принимает как распространённые так и редкие дорогостоящие позиции. Большинство клиентов отмечают скорость и вежливость обслуживания на каждом этапе работы. Более подробная информация по ссылке – https://prodati-lekarstvaa.online Фармацазит продать лекарства с договором продать лекарства продать лекарства без рецепта Инлита скупка лекарств выкуп Зепатир продать Газива Всего наилучшего и успехов Фонд выкупа препаратов

  3. рекламные ставки ozon как улучшить карточку wildberries

  4. Планируете капитальный дешевый ремонт в ванной под ключ. Замена коммуникаций отделка стен и пола. Получите консультацию мастера для создания уютной ванной комнаты.

  5. #if kdmp.to===Kraken официальный сайт Здравствуйте друзья Будущий мегаполис часто представляют заполненным беспилотниками роботами и автоматическими маршрутами. Но даже в самой технологичной системе останется место человеку способному понимать контекст. Курьер кракен в такой картине становится оператором живого города. Приложение анализирует расстояния и распределяет точки а человек соединяет цифровую точность с реальной обстановкой. Он видит удобный вход выбирает спокойный темп и завершает маршрут там где линия на карте встречается с конкретным адресатом. Технология не убирает профессию а делает ее интереснее: меньше времени уходит на хаотичный поиск больше — на движение и самостоятельное решение. Курьер будущего работает не вопреки алгоритму и не по его слепой команде. Они дополняют друг друга. Один быстро обрабатывает карту другой понимает город. Вместе они превращают логистику в точный и почти незаметный сервис. Официальный сайт Кракен маркетплейс. Приемная профессора предлагает проверенную ссылку на Кракен сайт магазин. сайте для ссылкам Проверенные ссылки для входа на маркетплейс КРАКЕН: • Для пользователей из г. Иваново доступно рабочее зеркало: ссылка — k.gobartimes.org • Запасная ссылка для остальных регионов: для — kactual.cc Оставляйте комментарии если возникнут проблемы с доступом или входом на КРАКЕН. Проверял лично все актуальные зеркала работают стабильно в 2026 году. #else Что Такое Тикет на Кракене — Инструкция для Тикет Клиента Всем привет Маркетплейс можно сравнить с ночным мегаполисом. Категории становятся районами карточки — витринами профиль — личным кабинетом над шумной улицей а внутренняя навигация заменяет карту метро. Кракен сайт маркетплейс особенно хорошо раскрывается через такой образ. Пользователь входит в пространство и постепенно выбирает собственный маршрут ориентируясь по разделам и визуальным сигналам. Хорошая архитектура помогает увидеть масштаб платформы не потерявшись в количестве информации. Даркнет-эстетика добавляет городу характер: темный фон напоминает ночное небо акцентные элементы — огни а лаконичные статусы работают как понятные дорожные знаки. Самое интересное начинается тогда когда интерфейс перестает ощущаться страницей. Он превращается в среду где у каждой зоны есть назначение а переход между ними складывается в цельное цифровое путешествие. Возник вопрос? Кракен тикет сервис поможет решить его. Подавайте тикеты обращения прямо сейчас. кампании она кракен Проверенные ссылки для входа на маркетплейс КРАКЕН: • Для пользователей из г. Липецк доступно рабочее зеркало: сайт — k.gobartimes.org • Запасная ссылка для остальных регионов: ссылки — kactual.cc Оставляйте комментарии если возникнут проблемы с доступом или входом на КРАКЕН. Проверял лично все актуальные зеркала работают стабильно в 2026 году.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>