Spring Web Flow – displaying your JSR-303 validation messages using FreeMarker

Instead of creating a custom validator in the traditional sense I’m relying on JSR-303 annotations to specify validation constraints, because, it is the future, and I shouldn’t have to do a load of coding to specify common validation requirements like an email address regular expression or a numeric value that is required to be within a defined range.

Using Spring web flow, I found that binding error messages weren’t available when I called “<@spring.showErrors ‘<br/>’/>” in my freemarker view (after I had bound the field I wanted to show errors for of course).

So where are my error messages?

It turns out that Spring Web Flow has a different way of providing the user with feedback messages. The Spring Web Flow reference documentation says: “Spring Web Flow’s MessageContext is an API for recording messages during the course of flow executions”.

The message context (with all your binding error messages in it) can be found here: flowRequestContext.messageContext. I’ve written a couple of macros to make retrieving error messages from this object a little easier:

<#--
 * Shows flow messages (which reside in flowRequestContext.messageContext)
 *
 * @param source Name of the field that caused the error
 * @param severity String representation of org.springframework.binding.message.Severity
 * @param separator the html tag or other character list that should be used to
 *    separate each option. Typically '<br>'.
 * @param classOrStyle either the name of a CSS class element (which is defined in
 *    the template or an external CSS file) or an inline style. If the value passed in here
 *    contains a colon (:) then a 'style=' attribute will be used, else a 'class=' attribute
 *    will be used.
 * @param tag The HTML tag to wrap the error in
-->
<#macro showFlowMessages source severity separator classOrStyle="" tag="">
  <#assign messages = flowRequestContext.messageContext.getMessagesBySource(source)/>
  <#if (messages?size > 0)>
    <#list messages as message>
      <#if message.severity?string == severity>
        <#if classOrStyle == "" && tag == "">
          ${message.getText()}
        <#else>
          <#if classOrStyle == "">
            <${tag}>${message.getText()}</${tag}>
          <#else>
            <#if tag == ""><#local tag = "span" /></#if>
            <#if classOrStyle?index_of(":") == -1><#local attr="class"><#else><#local attr="style"></#if>
            <${tag} ${attr}="${classOrStyle}">${message.getText()}</${tag}>
          </#if>
        </#if>
        <#if message_has_next>${separator}</#if>
      </#if>
    </#list>
  </#if>
</#macro>

<#--
 * Shows flow messages (which reside in flowRequestContext.messageContext) in an ordered or unordered list
 *
 * @param source Name of the field that caused the error
 * @param severity String representation of org.springframework.binding.message.Severity
 * @param classOrStyle either the name of a CSS class element (which is defined in
 *    the template or an external CSS file) or an inline style. If the value passed in here
 *    contains a colon (:) then a 'style=' attribute will be used, else a 'class=' attribute
 *    will be used.
 * @param ordered Whether or not the macro should output the list as an <ol> or <ul>
-->
<#macro showFlowMessagesList source severity classOrStyle="" ordered=false>
  <#local errorsList><@showFlowMessages source, severity, "", "", "li" /></#local>
  <#if errorsList?trim != "">
    <#if classOrStyle == "">
      <#local attr="">
    <#elseif classOrStyle?index_of(":") == -1>
      <#local attr=" class=" + classOrStyle>
    <#else>
      <#local attr=" style=" + classOrStyle>
    </#if>
    <#if ordered><ol${attr}><#else><ul${attr}></#if>
    ${errorsList}
    <#if ordered></ol><#else></ul></#if>
  </#if>
</#macro>

I’ve added these to my spring extensions, which you can download here: springx.ftl

11,890 thoughts on “Spring Web Flow – displaying your JSR-303 validation messages using FreeMarker

  1. Соль меф купить Кокаин мефедрон гашиш бошки купить онлайн Масло конопли купить

  2. kasyna z minimalnym depozytemfree spin kasyno obstawiane przez graczy w ruletkД™ kasyna w warszawie

  3. Making a move — quite the challenge. Went through it recently not too long ago and Ill be straight with you no joke. You grab a box or two then youre knee-deep in belongings. Everyones got an opinion but I dug in myself. Anyway: if youre after movers in nevada take a measured approach. The thing is: professionals avoid common mistakes — especially across state lines. What worked for me — requested itemized breakdowns — and no exaggerations that approach saved me. Take a look at this resource that helped me decide. movers in nevada movers in nevada That specific source was incredibly helpful. Numbers are right there — no extra surprises. Picked a crew via that resource and everything ran like clockwork. Check every detail. Find out about equipment. Solid movers change the whole game. Wishing you an easy transition

  4. Масло конопли купить Кокаин мефедрон гашиш бошки купить онлайн Трамадол купить в москве

  5. ruletka online polskatotal casino bonusy metody pЕ‚atnoЕ›ci w kasynach online blackjack online echtgeld

  6. Неприятность накрыла — близкий сорвался. Вторая неделя пошла. В больницу не хочет. А риск растёт. К счастью — нашли проверенную службу. Оказывается работает круглосуточная помощь — срочный выезд врача. Без оформления. Бригада быстро. Полный набор для вывода. Состояние нормализуется — эффективно. Не дорого. капельница от запоя недорого капельница от запоя недорого Все условия там. Звонил им — реально помогли. Виден результат. Чем быстрее тем лучше. Близких надо спасать. Тем кто в такой ситуации — звоните без страха. Поправляйтесь

  7. Печальная история — родной человек в запое. В больницу категорически отказывается. А состояние ухудшается. Повезло узнать о службе. Оказывается работает — вывод из запоя на дому. Бригада оперативно выезжает. Без выходных. Без лишней огласки. Состояние нормализуется — безопасно. Всё честно. вывод из запоя на дому воронеж вывод из запоя на дому воронеж Все условия работы там. Звонил лично — помогли реально. Человек приходит в себя. И что ценно — без осложнений. Чем раньше тем лучше. Здоровье — это главное. Кому нужна срочная помощь — рекомендую. Всё наладится

  8. Беда пришла — родственник не выходит из состояния. Скорая отказывается — а риски огромные. Друзья подсказали — оказывается работает служба. Капельницы и препараты с собой. Через час уже на месте. Состояние нормализуют — эффективно. Без лишних вопросов. Не дорого. вывод из запоя цена вывод из запоя цена Все условия работы. Уже обращался — без обмана. После процедуры сразу легче. И без осложнений. Главное — не тянуть. Близких нужно спасать. Кто не знает что делать — рекомендую. Держитесь

  9. Где можно купить марихуану Кокаин мефедрон гашиш бошки купить онлайн Купить мефедрон бошки

  10. Случилась беда — близкий человек в запое. В больницу не хочет — а помочь надо срочно. Спасибо друзьям что порекомендовали. И вот решение — капельница от запоя на дому. В любое время дня и ночи. Врач через час. Состояние нормализуется — безопасно. Конфиденциально. вывод из запоя на дому круглосуточно вывод из запоя на дому круглосуточно По ссылке подробности. Лично обращался — без обмана. Не дорого. Ничего искать не надо. Сразу видно результат. Не тяните. Дорога каждая минута. Всем кто в такой ситуации — не бойтесь. Всё наладится

  11. gry maszyny owocekasyna online bonus bez depozytu jak wypłacić pieniądze z kasyna internetowego real life blackjack online

  12. С детства чувствовал — получить израильский паспорт. Очереди в консульстве — выматывало. Как правильно оформить. Коллеги по работе направили — помощь в получении гражданства Израиля. Специалисты по репатриации рассказали простым языком. Подготовили к собеседованию — без головной боли. Уже через несколько недель я получил приглашение. Без серых схем. Я наконец там где должен быть. Кто хочет быстрого результата — начните свой путь. репатриация в израиль сайт репатриация в израиль сайт Информация для каждого кто думает о переезде в свою историческую родину. Не откладывайте на завтра

  13. НА сегодняшнем мире, кае путь для неодинаковым веществам застопорился элементарнее через интернету,
    многие интересуются задачей
    приобретения наркотических веществ.
    Специальное внимание уделяется таковым пользующийся известностью
    продуктам, яко ямба, марихуана и еще мефедрон,
    которые широкошенько диспутируются на различных кругах.

    Гашиш также марихуана изображают собой постные наркотики,
    получаемые изо конопли. Их эксплуатация быть обладателем глубокие многознаменательные корни, также в последние десятилетия город заделались частью на CULTURE почти всех государств, вызывая обсуждения как в течение плюсе, так и еще в минусе.
    Яко узаконенный, яко и черный рынок этих материалов продолжает расти, соблазняя яко
    потребителей, яко (а) также продавцов.

    Также стоит пометить мефедрон, яже считается небиологическим наркотиком (а) также имеет собственные признаку в течение происхождении и действии.
    Он вызывает самый большой энтузиазм средь молодого поколения, что ни говорите евонный узаконенность и еще следствия пользования остаются дисциплиной
    теплых споров.
    В этой посте я разглядим рынок реализации гашиша,
    марихуаны, мефедрона и ихний популярность средь потребителей.
    Понимание сих ньюансов подать руку помощи основать сильнее справедливое мнение о существующих рисках также
    потенциалах, сцементированных мало употреблением данных
    веществ.
    Кае почерпнуть ямба: легальные а также подпольные
    источники

  14. Столкнулся с проблемой — родственник сорвался. Скорая не решает проблему — а время идёт. Хорошо — нашли работающий вариант. Самое главное — есть вывод из запоя на дому. Анонимно и конфиденциально. Полный набор для вывода. Выводит токсины — эффективно. Денег не дерут — всё честно. снятие интоксикации на дому https://narkolog.vyvod-iz-zapoya-na-domu-voronezh-bvc.ru На сайте подробно — круглосуточно. Проверил на себе — помогли реально. Чем быстрее тем лучше. Хорошо что такие службы работают. Кому надо — рекомендую. Это правильно. Всё будет хорошо

  15. В ТЕЧЕНИЕ сегодняшнем мире,
    где доступ буква всевозможным
    препаратам итак элементарнее через webу, почти многие
    увлекаются задачей получения наркотических
    веществ. Особое чуткость уделяется
    таким модным продуктам, яко ямба,
    марихуана и мефедрон, какие
    широко дискуссируются в течение различных кругах.

    Гашиш а также трава изображают собою постные
    наркотики, получаемые из конопли.
    Их эксплуатация быть обладателем глубочайшие исторические корешки, также в течение крайние десятилетия город встали в известной мере в течение SUAVITY
    почти всех краев, вызывая обсуждения как в течение плюсе, так также на минусе.
    Как узаконенный, яко да черный рынок данных материй не прекращает расти,
    приковывая как покупателей, яко (а) также продавцов.

    Тоже стоит пометить мефедрон,
    яже якобы небиологическим наркотиком да иметь в распоряжении собственные
    признаку в течение происхождении а также действии.

    Спирт стимулирует самый большой энтузиазм средь молодых людей, что ни говорите его легальность да следствия пользования остаются темой горячих споров.

    В данной посте мы рассмотрим ярмарка объемы продажи гашиша, марихуаны, мефедрона а
    также ихний популярность среди потребителей.
    Понимание данных ньюансов поддержит учредить сильнее объективное философема что касается имеющихся рисках а также потенциалах, связать руки мало потреблением данных
    веществ.
    Кае завести ямба: озагсенные а также нелегальные
    литература

  16. Трамадол купить в москве Кокаин мефедрон гашиш бошки купить онлайн Где купить героин

  17. Когда слышал слово «репатриация» — в голове возникал хаос. Переводить и заверять бумаги — отнимало все силы. Случайно наткнулся — поддержка на всех этапах. Юристы по репатриации разобрали мою ситуацию. Провели через все этапы — без нервов. Теперь я гражданин Израиля. Никаких серых схем. Сегодня я живу в Тель-Авиве. Если вы сомневаетесь — не бойтесь. репатриация в израиль помощь репатриация в израиль помощь По ссылке — контакты и детали для тех кто ищет поддержку в Израиль. Ваше будущее начинается сегодня

  18. gry na automatach dla zabawywynajem stoЕ‚Гіw kasynowych kasyno minimalna wpЕ‚ata skrill kod promocyjny lemon casino 2026

  19. В ТЕЧЕНИЕ современном мирные отношения, где посещение
    для всевозможным веществам стал элементарнее благодаря webу,
    многие увлекаются темой получения
    газонаркотических веществ.

    Специальное чуткость уделяется таковским знатным продуктам, как гашиш, марихуана и мефедрон,
    которые широкошенько диспутируются в разных кругах.

    Ямба да марихуана представляют собой постные наркотики, получаемые из конопли.
    Их использование имеет глубочайшие исторические корешки, (а) также на последние десятилетия город заделались в
    известной мере в течение CULTURE многих краев, стимулируя
    обсуждения как на плюсе, так и в минусе.
    Как узаконенный, яко равным образом нелегальный рынок данных материй продолжает
    расти, притягивая как потребителей,
    так и еще продавцов.
    Тоже следует пометить мефедрон, яже считается искусственным наркотиком равным образом иметь в распоряжении
    собственные отличительные черты в течение происхождении а
    также действии. Спирт пробуждает наибольший
    интерес среди молодых людей,
    что ни говорите его легальность а также следствия потребления остаются предметом горячих споров.

    В ТЕЧЕНИЕ данной посте наш брат разглядим рынок объемы продажи гашиша, марихуаны, мефедрона и ихний популярность
    среди потребителей. Понимание этих аспектов подать
    руку помощи учредить более справедливое философема что касается существующих рисках а также вероятностях, сцементированных с потреблением данных веществ.

    Кае почерпнуть ямба: легальные и еще
    подпольные список источников

  20. Тяжёлая ситуация — кого-то из знакомых накрыло. Уже несколько дней подряд а скорая не помогает. Кто поможет — полный тупик. Повезло посоветовали специалистов. Оказывается — выезд нарколога на дом — без лишней волокиты. Бригада приезжает быстро — выводят из запоя. И главное — конфиденциально. Цены приемлемые — и без лишних бумаг. вывод из запоя на дому недорого https://kruglosutochno.vyvod-iz-zapoya-na-domu-voronezh.ru Там контакты и цены — круглосуточно работают. Проверено лично — без обмана. Врач приехал с оборудованием — ничего докупать не надо. Стало легче. Рекомендую — спасение для семьи. Действуйте сразу. Здоровье дороже.

  21. В ТЕЧЕНИЕ современном подлунный
    мир, кае посещение ко разнообразным препаратам стал проще благодаря онлайну, многие увлекаются
    темой приобретения газонаркотических веществ.

    Особое внимание уделяется таковым популярным провиантам, как ямба, марихуана и еще мефедрон,
    какие широко дискутируются в течение различных кругах.

    Ямба а также трава представляют собой растительные
    наркотики, получаемые с конопли.
    Их использование быть обладателем
    глубочайшие исторические корешки, а также в течение крайние десятилетия город встали не в полной мере в течение SUAVITY почти всех держав,
    возбуждая обсуждения яко в
    течение плюсе, так также в минусе.
    Яко легальный, так и черный рынок сих
    веществ не прекращает подниматься, притягивая
    как покупателей, так да продавцов.

    Также стоит отметить мефедрон, яже якобы искусственным наркотиком равным образом иметь в своем
    распоряжении собственные отличительные черты в течение происхождении и действии.
    Спирт вызывает наибольший энтузиазм средь молодежи, что ни говорите его легальность да исходы употребления
    остаются предметом страстных споров.

    НА данной посте мы разглядим ярмарка продажи
    гашиша, марихуаны, мефедрона а также ихний читаемость средь потребителей.
    Понимание данных аспектов поможет основать более справедливое философема что
    касается существующих рисках а
    также способностях, сцементированных мало потреблением этих веществ.

    Кае почерпнуть гашиш: озагсенные
    да нелегальные источники

  22. Беда — отец пьёт. Врачи бессильны — нужно серьёзное лечение. Узнали надёжное место. Можно лечь в клинику. Медперсонал всегда на месте. Детоксикация — профессионально. Анонимно и конфиденциально. Уход профессиональный. вывод из запоя в стационаре вывод из запоя в стационаре Там контакты и цены. Проверили на себе — всё честно. Человек приходит в себя. И что ценно — с заботой. Действуйте сразу. Здоровье — это главное. Кто ищет стационар — обращайтесь. Держитесь

  23. Кошмар — близкий в запое уже давно. Дома не справиться — нужен стационар. Нашли отличный стационар. Работает вывод из запоя в стационаре. Врачи круглосуточно наблюдают. Очищение организма — под контролем врачей. Без постановки на учёт. Палаты хорошие. вывод из запоя в стационаре вывод из запоя в стационаре На сайте подробности. Родственника положили — всё честно. После лечения сразу легче. И что важно — с реабилитацией. Главное — не медлить. Здоровье — это главное. Кому нужна срочная помощь — не бойтесь. Всё наладится

  24. Где купить альфа пвп Кокаин мефедрон гашиш бошки купить онлайн Наркошоп

  25. Тяжелая ситуация — человек в запое уже давно. Никакие методы не работают — нужно в клинику. Хорошо что есть специализированные клиники. Работает круглосуточный стационар — вывод из запоя в стационаре. Медицинский персонал на месте 24/7. Детоксикация организма — всё под контролем врачей. Без постановки на учёт. Условия комфортные. капельница от запоя в стационаре https://kapelnica.vyvod-iz-zapoya-v-stacionare-samara11.ru На сайте подробности. Я сам обращался — врачи высший класс. Результат очевиден. И что важно — с поддержкой. Главное — не медлить. Время не ждёт. Кто уже не справляется дома — рекомендую. Держитесь

  26. the best online casino for vip playersnowe kasyno bez depozytu 2026 aplikacja kasyno na prawdziwe pieniД…dze kasa za granie w gry

  27. Отчаяние полное — отец не выходит из запоя. Скорая не помогает — нужна госпитализация. Повезло найти нормальное место. Есть круглосуточный стационар. Контроль состояния 24/7. Детоксикация организма — под контролем врачей. Без постановки на учёт. Внимание и забота. вывод из запоя в стационаре в самаре вывод из запоя в стационаре в самаре На сайте подробности. Родственника положили — реально помогли. Человек приходит в себя. И главное — с поддержкой. Чем раньше тем лучше. Время не ждёт. Тем кто в такой ситуации — рекомендую. Поправляйтесь

  28. Ситуация аховая — человек в запое уже много дней. Никто не может вывести — только стационар спасёт. Узнали хорошее место. Работает вывод из запоя в стационаре. Полный контроль состояния. Капельницы и инфузии — безопасно и эффективно. Полная анонимность. Палаты комфортные. запой стационар https://alkogolizm.vyvod-iz-zapoya-v-stacionare-samara12.ru Вся информация по ссылке. Я сам лежал — врачи высший класс. Результат виден. И что важно — с реабилитацией. Чем раньше тем лучше. Время не ждёт. Кому нужна срочная помощь — не бойтесь. Всё наладится

  29. Кошмар — человек в запое. На дому не помогают — требуется госпитализация. Узнали надёжное место. Работает вывод из запоя в стационаре. Медперсонал всегда на месте. Очищение организма — безопасно и эффективно. Без постановки на учёт. Палаты хорошие. вывести из запоя в стационаре вывести из запоя в стационаре Вся информация по ссылке. Родственника положили — без обмана. Человек приходит в себя. И что радует — без срывов. Действуйте сразу. Каждая минута важна. Кто ищет стационар — обращайтесь. Всё наладится

  30. Кошмар — близкий в запое уже давно. Дома не справиться — только клиника поможет. Нашли отличный стационар. Можно лечь в клинику. Полный мониторинг. Капельницы и препараты — безопасно и эффективно. Никто не узнает. Условия комфортные. вывод из запоя стационар вывод из запоя стационар На сайте подробности. Обращались туда — без обмана. Состояние нормализуется. И что ценно — с заботой. Чем раньше тем лучше. Время не ждёт. Кому нужна срочная помощь — рекомендую. Поправляйтесь

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>