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

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

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

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

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

  4. Присматривался приличного букмекера для беттинга. Протестировал много сайтов но решил остановиться на этой конторе. В обсуждениях упоминали — решил глянуть. И знаете что — качественный сервис. Роспись плотная кешаут есть. В общем если думаете где региться — попробуйте сами. Вот тут вся инф. 1вин регистрация 1вин регистрация Там и про бонусы — комплексно. Я сам так начинал — без заморочек. Не напряжно верификация простая. Рабочий домен всегда найдётся. Оцените лично. Удачи в ставках

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

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

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

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

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

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

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

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

  13. Где можно купить мефедрон Купить Бошки Шишки Мефедрон Кокаин

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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>