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

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

  1. Люди подскажите Близкий человек уже несколько дней в запое Родственники не знают что делать Нужна срочная помощь на дому Короче только это реально спасло — вывод из запоя на дому люберцы качественно Поставили капельницу с детоксикационным раствором В общем жмите чтобы сохранить — вывод из запоя частный врач https://chastnyj.vyvod-iz-zapoya-na-domu-moskva.ru Не ждите пока станет хуже Перешлите тем кто в такой же ситуации

  2. Здорова народ Муж просто потерял себя Дети напуганы В больницу тащить страшно Короче врачи приехали и поставили систему — вывод из запоя дешево мытищи профессионально Сняли ломку и стабилизировали состояние В общем телефон и цены тут — вывод из запоя дешево https://vyvod-iz-zapoya-na-domu-moskva-snp.ru Вывод из запоя на дому — это реальный выход Перешлите тем кто в такой же ситуации

  3. Слушайте кто сталкивался Близкий человек уже несколько дней в запое Соседи стучат в стену Таблетки не помогают Короче единственное что вытащило из запоя — снятие интоксикации на дому быстро Приехали через 40 минут В общем не потеряйте контакты — вывод из запоя на дому люберцы цены вывод из запоя на дому люберцы цены Не ждите пока станет хуже Перешлите тем кто в такой же ситуации

  4. Люди подскажите Ситуация критическая Дети напуганы Таблетки не помогают Короче врачи приехали и поставили систему — вывод из запоя с выездом врача Сняли ломку и стабилизировали состояние В общем жмите чтобы сохранить — срочный вывод из запоя в люберцах https://anonimno.vyvod-iz-zapoya-na-domu-moskva-jst.ru Звоните прямо сейчас Перешлите тем кто в такой же ситуации

  5. Люди помогите советом Брат снова сорвался Соседи стучат в стену Нужна срочная помощь на дому Короче врачи приехали и поставили систему — выведение из запоя на дому мытищи качественно Поставили капельницу с детоксикационным раствором В общем вся инфа по ссылке — вывод из запоя дешево https://alkogolizm.vyvod-iz-zapoya-na-domu-moskva-snp.ru Не ждите пока станет хуже Перешлите тем кто в такой же ситуации

  6. Где купить альфа пвп Купить Бошки Шишки Мефедрон Кокаин

  7. Щёлково всем привет Ситуация критическая Дети напуганы Таблетки не помогают Короче только это реально спасло — вывести из запоя на дому щелково быстро Приехали через 40 минут В общем не потеряйте контакты — выведение из запоя щёлково https://kodirovanie.vyvod-iz-zapoya-na-domu-moskva-snp.ru Вывод из запоя на дому — это реальный выход Перешлите тем кто в такой же ситуации

  8. Слушайте кто сталкивался Ситуация критическая Дети напуганы В больницу тащить страшно Короче единственное что вытащило из запоя — вывод из запоя в щёлкове профессионально Приехали через 40 минут В общем телефон и цены тут — вывод из запоя на дому в щелково https://chastnyj.vyvod-iz-zapoya-na-domu-moskva-snp.ru Звоните прямо сейчас Перешлите тем кто в такой же ситуации

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

  10. Мечтал съездить в Териберку. Слышал много — место силы. Думал без местного не получится. Хорошо что нашёл — териберка гид. Показал все локации. И дорогу знает. Короче — не увидел бы и половины. Океан скалы водопады — всё объяснил. Итог один — с проводником всё по-другому. Настоятельно рекомендую — не пожалеете. гид териберка мурманск https://teriberka-gid.ru Вот тут все контакты. Без разводов. Из Мурманска довезёт. Запомню этот опыт. Если решитесь — обращайтесь к нему. Гарантирую. И вы тоже. Невероятных впечатлений

  11. Слушайте кто сталкивался Отец не выходит из штопора Соседи стучат в стену В больницу тащить страшно Короче врачи приехали и поставили систему — нарколог вывод из запоя мытищи с опытом Поставили капельницу с детоксикационным раствором В общем жмите чтобы сохранить — вывести из запоя цена https://alkogolizm.vyvod-iz-zapoya-na-domu-moskva-snp.ru Не ждите пока станет хуже Перешлите тем кто в такой же ситуации

  12. Здорова народ Близкий человек уже несколько дней в запое Жена в истерике Таблетки не помогают Короче только это реально спасло — вывод из запоя на дому круглосуточно анонимно Поставили капельницу с детоксикационным раствором В общем не потеряйте контакты — вывод из запоя в люберцах вывод из запоя в люберцах Звоните прямо сейчас Перешлите тем кто в такой же ситуации

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

  14. Москва всем привет Муж просто потерял себя Соседи стучат в стену Таблетки не помогают Короче единственное что вытащило из запоя — вывод из запоя люберцы с выездом Сняли ломку и стабилизировали состояние В общем жмите чтобы сохранить — наркология вывод из запоя люберцы https://anonimno.vyvod-iz-zapoya-na-domu-moskva-jst.ru Звоните прямо сейчас Перешлите тем кто в такой же ситуации

  15. Люди помогите советом Муж просто потерял себя Жена в истерике Нужна срочная помощь на дому Короче только это реально спасло — вывод из запоя в люберцах круглосуточно Поставили капельницу с детоксикационным раствором В общем телефон и цены тут — вывод из запоя клиника в люберцах https://detoks.vyvod-iz-zapoya-na-domu-moskva-jst.ru Звоните прямо сейчас Перешлите тем кто в такой же ситуации

  16. Здорова народ Муж просто потерял себя Соседи стучат в стену Нужна срочная помощь на дому Короче единственное что вытащило из запоя — вывод из запоя в мытищах анонимно Сняли ломку и стабилизировали состояние В общем вся инфа по ссылке — вывод из запоя дешево https://vyvod-iz-zapoya-na-domu-moskva-snp.ru Звоните прямо сейчас Перешлите тем кто в такой же ситуации

  17. Здорова народ Муж просто потерял себя Дети напуганы Таблетки не помогают Короче только это реально спасло — вывод из запоя недорого с гарантией Поставили капельницу с детоксикационным раствором В общем жмите чтобы сохранить — вывод из запоя на дому мытищи вывод из запоя на дому мытищи Звоните прямо сейчас Перешлите тем кто в такой же ситуации

  18. Слушайте кто сталкивался Брат снова сорвался Жена в истерике Таблетки не помогают Короче только это реально спасло — вывод из запоя люберцы с выездом Приехали через 40 минут В общем жмите чтобы сохранить — наркология вывод из запоя люберцы наркология вывод из запоя люберцы Звоните прямо сейчас Перешлите тем кто в такой же ситуации

  19. Люди подскажите Брат снова сорвался Родственники не знают что делать Таблетки не помогают Короче единственное что вытащило из запоя — вывод из запоя на дому люберцы качественно Через пару часов человек пришёл в себя В общем жмите чтобы сохранить — врач на дом капельница от запоя врач на дом капельница от запоя Вывод из запоя на дому — это реальный выход Перешлите тем кто в такой же ситуации

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

  21. Здорова народ Брат снова сорвался Дети напуганы Нужна срочная помощь на дому Короче врачи приехали и поставили систему — вывод из запоя на дому щелково с выездом Через пару часов человек пришёл в себя В общем телефон и цены тут — вывод из запоя телефон https://chastnyj.vyvod-iz-zapoya-na-domu-moskva-snp.ru Вывод из запоя на дому — это реальный выход Перешлите тем кто в такой же ситуации

  22. Присматривал нормальную контору для беттинга. Перепробовал кучу вариантов но решил остановиться на этой конторе. Коллеги рекомендовали — решил тестнуть. И знаете что — достойный подход. Роспись плотная деньги приходят чётко. Суть в том если хотите нормально ставить — попробуйте сами. Здесь всё подробно. 1win линия 1win линия И про зеркало актуальное — нормально разложено. И сам по этой инструкции — без заморочек. Регистрация минутная документы быстро принимают. Плюс зеркало всегда работает. Оцените лично. Спортивного везения

  23. Собирался попасть в Териберку. Друзья рассказывали — красота невероятная. Не хотел сам организовывать. Хорошо что нашёл — проводника по Териберке. Всё рассказал. И погоду учитывает. Если кратко — один бы точно потерялся. Баренцево море пляжи — всё организовал. Теперь я точно знаю — с проводником всё по-другому. Советую от души — не пожалеете. гид из мурманска в териберку гид из мурманска в териберку По ссылке информация. Не дорого. Приедет в Мурманск встретит. Ещё не раз приеду. Если собираетесь — пишите ему. Рекомендую от души. И вам советую. Невероятных впечатлений

  24. Слушайте кто знает Брат снова сорвался Соседи стучат в стену Таблетки не помогают Короче только это реально спасло — вывод из запоя в мытищах анонимно Сняли ломку и стабилизировали состояние В общем жмите чтобы сохранить — помощь выведение из запоя https://lechenie.vyvod-iz-zapoya-na-domu-moskva-snp.ru Звоните прямо сейчас Перешлите тем кто в такой же ситуации

  25. Москва всем привет Ситуация критическая Дети напуганы В больницу тащить страшно Короче только это реально спасло — врач на дом капельница от запоя с препаратами Через пару часов человек пришёл в себя В общем не потеряйте контакты — вывод из запоя цена на дому в люберцах https://detoks.vyvod-iz-zapoya-na-domu-moskva-jst.ru Вывод из запоя на дому — это реальный выход Перешлите тем кто в такой же ситуации

  26. Здорова народ Брат снова сорвался Родственники не знают что делать Таблетки не помогают Короче врачи приехали и поставили систему — вывод из запоя на дому срочно Сняли ломку и стабилизировали состояние В общем телефон и цены тут — прерывание запоев на дому https://alkogolizm.vyvod-iz-zapoya-na-domu-moskva-snp.ru Не ждите пока станет хуже Перешлите тем кто в такой же ситуации

  27. Москва всем привет Муж просто потерял себя Родственники не знают что делать В больницу тащить страшно Короче единственное что вытащило из запоя — вывод из запоя анонимно недорого с опытом Сняли ломку и стабилизировали состояние В общем не потеряйте контакты — вывод из запоя клиника https://anonimno.vyvod-iz-zapoya-na-domu-moskva-jst.ru Не ждите пока станет хуже Перешлите тем кто в такой же ситуации

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

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

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

  31. Здорова народ Муж просто потерял себя Дети напуганы Нужна срочная помощь на дому Короче единственное что вытащило из запоя — снятие интоксикации на дому быстро Поставили капельницу с детоксикационным раствором В общем не потеряйте контакты — наркология вывод из запоя в люберцах https://detoks.vyvod-iz-zapoya-na-domu-moskva-jst.ru Звоните прямо сейчас Перешлите тем кто в такой же ситуации

  32. Мытищи всем привет Отец не выходит из штопора Родственники не знают что делать В больницу тащить страшно Короче единственное что вытащило из запоя — вывод из запоя мытищи круглосуточно Сняли ломку и стабилизировали состояние В общем жмите чтобы сохранить — вывод из запоя мытищи вывод из запоя мытищи Не ждите пока станет хуже Перешлите тем кто в такой же ситуации

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

  34. Мытищи всем привет Ситуация критическая Родственники не знают что делать Нужна срочная помощь на дому Короче врачи приехали и поставили систему — капельница от запоя на дому круглосуточно с препаратами Приехали через 40 минут В общем жмите чтобы сохранить — выведение из запоя на дому мытищи выведение из запоя на дому мытищи Вывод из запоя на дому — это реальный выход Перешлите тем кто в такой же ситуации

  35. Мечтал съездить в Териберку. Читал отзывы — природа завораживает. Переживал что не найду дорогу. Посоветовали — специалиста по этим местам. Организовал идеальный маршрут. И погоду учитывает. Короче — многое бы упустил. Пейзажи космос тишина — всё организовал. Теперь мне ясно — это совсем другой уровень. Обязательно советую — это стоит того. гид из мурманска в териберку гид из мурманска в териберку Вот тут все контакты. Цены адекватные. И встретит и проводит. Запомню этот опыт. Если решитесь — обращайтесь к нему. Проверил лично. И вам советую. Невероятных впечатлений

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

  37. Здорова народ Муж просто потерял себя Соседи стучат в стену Таблетки не помогают Короче врачи приехали и поставили систему — снятие интоксикации на дому быстро Приехали через 40 минут В общем не потеряйте контакты — алкогольная детоксикация на дому алкогольная детоксикация на дому Не ждите пока станет хуже Перешлите тем кто в такой же ситуации

  38. Москва всем привет Близкий человек уже несколько дней в запое Родственники не знают что делать В больницу тащить страшно Короче врачи приехали и поставили систему — врач на дом капельница от запоя с препаратами Поставили капельницу с детоксикационным раствором В общем телефон и цены тут — вывод из запоя https://detoks.vyvod-iz-zapoya-na-domu-moskva-jst.ru Звоните прямо сейчас Перешлите тем кто в такой же ситуации

  39. Мытищи всем привет Отец не выходит из штопора Родственники не знают что делать Нужна срочная помощь на дому Короче врачи приехали и поставили систему — прокапаться от алкоголя на дому быстро Поставили капельницу с детоксикационным раствором В общем не потеряйте контакты — выведение из запоя на дому цена https://alkogolizm.vyvod-iz-zapoya-na-domu-moskva-snp.ru Звоните прямо сейчас Перешлите тем кто в такой же ситуации

  40. Люди подскажите Близкий человек уже несколько дней в запое Родственники не знают что делать Таблетки не помогают Короче врачи приехали и поставили систему — вывод из запоя на дому срочно Поставили капельницу с детоксикационным раствором В общем телефон и цены тут — вывод из запоя вызов https://anonimno.vyvod-iz-zapoya-na-domu-moskva-jst.ru Звоните прямо сейчас Перешлите тем кто в такой же ситуации

  41. Слушайте кто знает Отец не выходит из штопора Родственники не знают что делать В больницу тащить страшно Короче врачи приехали и поставили систему — вывод из запоя щелково круглосуточно Поставили капельницу с детоксикационным раствором В общем не потеряйте контакты — вывод из запоя в щелково на дому https://kodirovanie.vyvod-iz-zapoya-na-domu-moskva-snp.ru Вывод из запоя на дому — это реальный выход Перешлите тем кто в такой же ситуации

  42. Слушайте кто сталкивался Отец не выходит из штопора Соседи стучат в стену Нужна срочная помощь на дому Короче врачи приехали и поставили систему — вывод из запоя на дому срочно Приехали через 40 минут В общем телефон и цены тут — вывод из запоя на дому щелково вывод из запоя на дому щелково Звоните прямо сейчас Перешлите тем кто в такой же ситуации

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>