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

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

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

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

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

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

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

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

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

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

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

  11. Собирался попасть в Териберку. Друзья рассказывали — красота невероятная. Переживал что не найду дорогу. Повезло найти — проводника по Териберке. Провёл по самым крутым местам. И погоду учитывает. Одним словом — многое бы упустил. Пейзажи космос тишина — всё объяснил. Теперь мне ясно — с проводником всё по-другому. Обязательно советую — потом скажете спасибо. из мурманска в териберку с гидом из мурманска в териберку с гидом По ссылке информация. Цены адекватные. И встретит и проводит. Обязательно вернусь. Если решитесь — звоните ему. Проверил лично. И вам советую. Удачи в дороге

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

  13. мостбет официальный адрес сайта мостбет официальный адрес сайта

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

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

  16. online casino slotnajlepsze kasyno w polsce kasyno szybkie wypЕ‚aty ice casino bez depozytu

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

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

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

  20. vox casino kod promocyjny bez depozytulucky dreams casino metody pЕ‚atnoЕ›ci w kasynach online automaty online za darmo bez rejestracji

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

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

  23. free spin no deposit 2026hell spin bonus bez depozytu obstawiane przez graczy w ruletkę jak grać w keno przez internet

  24. So youve got a move coming up — been in those shoes not too far in the past and I wont lie its a whole thing. You grab a few boxes then youre swimming in belongings. My neighbor went with a different crew but I wanted real answers. Anyway: when youre searching for reliable nevada moving services dont just pick a name. Why?: seasoned operators make fewer mistakes — particularly when its blazing hot. In my case — demanded written estimates — and honestly that research was clutch. So take a look at this that put the pieces together. nevada moving company nevada moving company That particular page saved me countless hours. No tricky pricing — nothing buried in fine print. Booked my move through that site and flawless from start to finish. Dont cut corners. Ask about packing materials. Quality service is invaluable. Best of luck with your move

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

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

  27. sts wypЕ‚ata w punkciegry hazardowe 77777 kasyno minimalna wpЕ‚ata skrill kasyno online z bonusem

  28. Switching addresses — quite the journey. Just did it not that far back and honestly it was a handful. Think its just packing then it snowballs fast. A colleague had a different experience but I couldnt trust hearsay. What I came to realize: when youre on the hunt for movers in nevada make sure you compare. Think about this: local companies handle the roads better — especially when the heat is on. In my case — requested breakdowns of costs — and no word of a lie it was absolutely worth the effort. This is the resource that put everything in perspective. moving companies in nevada moving companies in nevada That compilation cut through all the noise. You see the full picture — complete transparency. Picked a mover from that list and the team was top-notch. Dont rush into anything. Clarify the timeline. Decent movers are a lifesaver. Take this advice — it comes from experience

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

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

  31. Making the jump — quite the adventure. Had my turn at this not too far back and honestly its no small feat. You pick up some boxes then you see what you actually own. One acquaintance sang praises about X but I needed dependable info. So what I found out: when youre seeking a reputable company out here do yourself a favor. Because: local pros have the best routes — when timing is tight. How I tackled it — asked for itemized quotes — and I kid you not I steered clear of disasters. Heres something useful that gave me what I needed. movers nevada movers nevada That page over there saved me loads of time. Everythings shown plainly — nothing sneaky. Scheduled my move that way and zero complaints. Dont be hasty. Nail down the dates. Quality help is unforgettable. Hope this points you in a good direction

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

  33. kasyno sloty online50 darmowych spinГіw bez depozytu 2026 kasyno z wypЕ‚atД… na kartД™ darmowe kasyno bez logowania

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>