Extensions to Spring’s FreeMarker macro’s (spring.ftl)

Spring’s FreeMarker macro’s are pretty useful, but there are a couple of things I need from the showErrors macro that simply aren’t there:

  1. Show errors without a HTML tag around them – if you don’t specify a classOrStyle, the showErrors macro will wrap your error message in a <b> tag. If you do, it’ll wrap it in a <span> (understandably)
  2. Pick the tag that surrounds each message – As explained in the first point, you can see we only get the choice of <b> or <span>. What if I wanted to use an <li>? …use the separator? – no good, because unless I write an <#if> statement to check the number of error messages before I call showErrors I’ll end up with redundant <ul>/<ol> and <li>’s in my markup if there aren’t any errors:
    e.g. <ul><li><@spring.showErrors “</li><li>”/></li></ul>
    Which leads me nicely onto the next point:
  3. Show errors in an ordered/unordered list, automatically detecting zero messages and not outputting markup if this is the case
  4. Show errors for multiple bind paths – Spring’s showErrors only shows errors for the currently bound field. However I’ve found that I’ve needed to show errors for 2 or more fields together. This is particularly true of a DOB field where the day/month and year are separate <select>’s
  5. Finally, show errors for multiple bind paths, in an unordered/ordered list

You can download my Spring extensions here: springx.ftl. Inevitably I’ll find more bits and pieces to add and will update them accordingly.

23,595 thoughts on “Extensions to Spring’s FreeMarker macro’s (spring.ftl)

  1. Воспользуйтесь услугами аренды яхт в Адлере чтобы отметить важное событие оригинально: аренда катера сочи

  2. בשביל הילדים האלה לא הייתי זוכרת מה זה. ולמען האמת חברה סיימתי את השלישי אורגזמה כזאת שכמעט היא הבחינה בכך מיד-עיניו החליקו על שוקיה החשופות התעכבו על עקומת כף רגלה על ציפורניה הנוצצות. you can find out more

  3. Организуйте романтическое свидание на яхте в Адлере и удивите свою вторую половинку: аренда яхт в сочи

  4. Hello and welcome!

    Our platform connects you with verified hackers skilled in solving complex digital challenges. From accessing locked accounts to securing confidential data, our services are tailored to meet your needs. We guarantee secure communication, discreet service handling, and encrypted payment options. Whether it’s social media recovery or cybersecurity assessments, our experts provide fast and reliable results, ensuring full confidentiality at every step. Choose our hacking services for advanced solutions with guaranteed success.
    https://hackerslist.com/hacker-services/

    Thank you for choosing HackersList!

  5. זה זה מה שיש שם קארינה צחקה כשהיא מזגה לעצמה יין. – אסור לי לצפות אני נשואה מרינה ענתה מוכן. ביום הראשון שליסה יצאה מהמקלחת עטופה במגבת ידעתי שפגעתי. ובכן כמו שער מגזין רק חי יותר. נערות ליווי זולות

  6. כשאשתי נכנסה היא התקבלה על ידי גבר שעמד בעבר על המרפסת בבדיקה מדוקדקת יותר זה היה גבר שחור תיאור בלתי אפשרי במילים כל כך חזק חור כמו יד עוטפת את הזין שלי מוצץ את כל הכוח… בסוף קרעתי את my sources

  7. Предлагаем вашему вниманию интересную справочную статью, в которой собраны ключевые моменты и нюансы по актуальным вопросам. Эта информация будет полезна как для профессионалов, так и для тех, кто только начинает изучать тему. Узнайте ответы на важные вопросы и расширьте свои знания!
    Смотри, что ещё есть – https://futurereadytechnologies.in/abrasive-blasting

  8. Мы предлагаем вам подробное руководство, основанное на проверенных источниках и реальных примерах. Каждая часть публикации направлена на то, чтобы помочь вам разобраться в сложных вопросах и применить знания на практике.
    Ознакомьтесь с аналитикой – https://www.fischer-automation.com/unternehmen/neuigkeiten/zu-gast-in-einem-ideenlabor-artikel-im-magazin-prohof

  9. Эта статья для ознакомления предлагает читателям общее представление об актуальной теме. Мы стремимся представить ключевые факты и идеи, которые помогут читателям получить представление о предмете и решить, стоит ли углубляться в изучение.
    Смотри, что ещё есть – https://wwwtest.copitec.org.ar/blog/2024/11/11/curso-redes-moviles-de-nueva-generacion