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,398 thoughts on “Spring Web Flow – displaying your JSR-303 validation messages using FreeMarker

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  26. Марихуана гашиш куплю Кокаин мефедрон гашиш бошки купить онлайн Трамадол купить без рецепта

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

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

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

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

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

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

  33. Здорова народ Ситуация критическая Родственники не знают что делать Нужна срочная помощь на дому Короче единственное что вытащило из запоя — вывод из запоя на дому казань круглосуточно Поставили капельницу с детоксикационным раствором В общем жмите чтобы сохранить — вывести из запоя капельница на дому https://lechenie.kapelnica-ot-zapoya-kazan.ru Капельница от запоя — это реальный выход Перешлите тем кто в такой же ситуации

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

  35. Казань всем привет Брат снова сорвался Дети напуганы В больницу тащить страшно Короче только капельница реально спасла — прокапаться казань анонимно Приехали через 40 минут В общем вся инфа по ссылке — сколько стоит прокапаться дома https://czena.kapelnica-ot-zapoya-kazan.ru Не ждите пока станет хуже Перешлите тем кто в такой же ситуации

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

  37. Люди подскажите Брат снова сорвался Родственники не знают что делать В больницу тащить страшно Короче врачи приехали и поставили систему — капельница от запоя на дому с препаратами Через пару часов человек пришёл в себя В общем жмите чтобы сохранить — капельница от запоя https://narkolog.kapelnica-ot-zapoya-kazan.ru Капельница от запоя — это реальный выход Перешлите тем кто в такой же ситуации

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

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>