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.

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

  1. اربط قطع صغيرة في ديل الطيارة ويكون البعد بينهم من 5 لـ 7 سم، عشان تحافظ على ديل الطياة يبقى متزن في الهوا والطيارة تطير بشكل مستقيم. استخدم مهاراتك في سباقات الرالي أو في حلبة السباق عبر لعبة مجانية ومثيرة من ألعاب السباق. إذا كنت ترغب في تنفيذ مشاهد الانحراف ببراعة، تحقق من لعبة دريفت هنترز. Aviator هي لعبة مسلية وغير معقدة لكل من يجربها. توفر النسخة التجريبية نفس المتعة الرائعة سواء تم لعبها مقابل حصص أموال حقيقية أم لا في لعبة المقامرة. الهاتف المحمول مع السهم جوال
    https://www.sathyasaitoronto.org/?p=43498
    1xBet هو كازينو شهير على الإنترنت يقدم مجموعة واسعة من ماكينات القمار المتميزة. مع وجود العديد من الخيارات للاختيار من بينها، قد يكون من الصعب معرفة أي ماكينات القمار هي الأفضل. ومع ذلك، بعد التحليل الدقيق، إليك أفضل 5 ماكينات سلوتس شعبية على موقع 1xBet: 1xBet هو كازينو شهير على الإنترنت يقدم مجموعة واسعة من ماكينات القمار المتميزة. مع وجود العديد من الخيارات للاختيار من بينها، قد يكون من الصعب معرفة أي ماكينات القمار هي الأفضل. ومع ذلك، بعد التحليل الدقيق، إليك أفضل 5 ماكينات سلوتس شعبية على موقع 1xBet:

  2. كايرو جيمز أسرع طائرة شخصية تُصنع غالبية الطائرات الشخصية أو الخاصة من الألمنيوم لذلك فهي تتميز بخفة الوزن، مما… شوارع المدينة بأكملها هي ساحة المعركة الخاصة بك ، مع العشرات من حلبات السباق المتنوعة لكل من المتسابقين المميزين والهواة على حد سواء. احصل على عصائر النيترو هذه وفز بالسباق قبل أن يسمعك خصومك وأنت تتدحرج! تتميز لعبة قن شيب باتل GUNSHIP BATTLE: Helicopter 3D‏ حرب الهليكوبتر بحجمها الصغير الذي يساعد المستخدمين بتحميل وتثبيت Gunship Battle على اجهزة الهواتف المحمولة بكل سهوله حيث انها لا تحتاج الى مساحة كبيرة من ذاكرة تخزين الجوال، وتتمتع لعبة قن شيب باتل GUNSHIP BATTLE: Helicopter 3D‏ الطائرات بجرافيك ثلاثي الابعاد 3D عالي الجودة.
    https://sodo66vn.live/%d9%85%d8%b1%d8%a7%d8%ac%d8%b9%d8%a9-%d9%84%d8%b9%d8%a8%d8%a9-aviator-%d9%85%d9%86-spribe-%d9%81%d9%8a-%d9%83%d8%a7%d8%b2%d9%8a%d9%86%d9%88%d9%87%d8%a7%d8%aa-%d8%a7%d9%84%d8%a5%d9%86%d8%aa%d8%b1%d9%86/
    في الرهان الثاني، تستهدف الحصول على العوائد والتي ستكون أرباح صافية حيث أنك قمت باسترداد قيمة رهانك من ارباح الرهان الأول. خطط للسحب في وقت مناسب، ولا تنتظر طويلًا ولا تطمع في الكثير. 021 310 59 73 في هذا الدليل، سنشرح كيفية العثور على رموز الترويج في 1xBet واستخدامها بأبسط المصطلحات، مما يضمن لك الاستفادة القصوى منها أثناء مراهنتك واللعب على منصة 1xBet. استعد لفتح كنز المكافآت مع هذه الرموز الترويجية المفيدة! تحميل سكربت الطياره مجانا  إذا كنت تتساءل عن توفر أي رمز ترويجي 1xBet من دون إيداع، نأسف لإخبارك عن عدم توفر مكافآت مجانية في 1xBet حالياً. إذا كنت تريد بعض المكافآت الحصرية مع إيداعك الأول، فما عليك سوى استخدام الرمز الترويجي المتوفر على المواقع التابعة للشركة.

  3. طبعا مش مش محتاج أقولك قد إيه هذا الشيء الأخضر الملقب ب”الباسبور” مهم جدا – أكيد مش قصدي على مكانته العالمية الخرافية وسط باقي “باسبورات” العالم – أنا بس قصدي إنه مهم علشان تعرف تسافر أصلا. 8- أبعد عنها الساعة دي: الألعاب التي يمكنك لعبها لكسب المال أثناء الطيران على متن طائرة؟ ما الذي قد يكون مسليا أكثر من هذا؟ هناك ثلاثة مزودين رئيسيين لهذه الألعاب – BGaming و Spribe و SmartSoft. يمكنك الاطلاع على بعض من أفضل ألعاب الطيران أدناه ومعرفة ما إذا كان أي منها يذهلك.
    https://computer.busswe.info/%d9%85%d8%b1%d8%a7%d8%ac%d8%b9%d8%a9-%d9%84%d8%b9%d8%a8%d8%a9-aviator-%d9%81%d9%8a-%d9%83%d8%a7%d8%b2%d9%8a%d9%86%d9%88%d9%87%d8%a7%d8%aa-%d8%a7%d9%84%d8%a5%d9%86%d8%aa%d8%b1%d9%86%d8%aa-%d9%84%d9%85/
    يحظى الطيار بشعبية كبيرة في مالي أيضًا! لمحبي ألعاب الكازينو على الإنترنت في مالي، يقدم موقع كازينو مالي عبر الإنترنت بوابة إلى عالم من الألعاب الجذابة. يُعد دليل كازينو مالي هذا مصدرًا قيمًا لاكتشاف أفضل الكازينوهات على الإنترنت في مالي، بما في ذلك تلك التي تقدم Aviator. تعتمد لعبة الطيار على مبدأ توليد الأرقام العشوائية، الذي يحدد الأرباح الممكنة القصوى لكل جولة جديدة. كلما قضى اللاعبون وقتًا نشطًا في اللعبة، زادت خبرتهم، وهذا يساهم في تحقيق أرباح أكبر وأكثر كفاءة.

  4. Curious whether anyone familiarized themselves with nutrition guidelines alongside training regimens followed religiously lately – would love diving deeper into aspects revolving dietary choices shared previously across various posts referenced directly boxing ckasses

  5. Good to know there’s a solid community of skilled rooftop experts available here—looking forward to getting started on mine soon with one of those recommended companies! Gutter repairs

  6. Super informativer Beitrag! Gerade bei der Pflege und Sanierung älterer Gartenteiche stoßen viele an Grenzen – Algenplagen, Schlamm, defekte Pumpen oder undichte Folien sind typische Baustellen Teichreinigung

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>