מזגנים ב- Thymeleaf

1. סקירה כללית

במדריך זה, אנו נסתכל על ה- סוגים שונים של תנאים זמינים ב- Thymeleaf.

לקבלת מבוא מהיר ל- Thymeleaf, עיין במאמר זה.

2. תלות Maven

נתחיל בתלות של Maven הנדרשת לשימוש ב- Thymeleaf יחד עם Spring:

 org.thymeleaf thymeleaf 3.0.11. RELEASE org.thymeleaf thymeleaf-spring5 3.0.11. RELEASE 

עבור מהדורות אביב אחרות, ההתאמה thymeleaf-springX יש להשתמש בספרייה, היכן איקס מייצג את גרסת האביב. שימו לב גם כי אביב 5 נתמך החל מ- 3.0.8.שחרור, מאת תימליף.

הגרסאות האחרונות של תלות נדרשת ניתן למצוא כאן.

3. תנאים של Thymeleaf

עלינו להבחין בין תנאים המאפשרים לנו לעבד טקסט בתוך אלמנט HTML בהתאם לתנאי ואלה השולטים באינסטימנטציה של אלמנט HTML עצמו.

בואו נגדיר את שלנו מוֹרֶה כיתת מודלים בה נשתמש לאורך מאמר זה:

הכיתה הציבורית מורה מיישמת סדרתית {מגדר מחרוזת פרטי; בוליאני פרטי הוא פעיל; קורסי רשימה פרטית = ArrayList חדש (); פרטי מחרוזת נוסף מיומנויות;

3.1. מפעיל אלביס

מפעיל אלביס ?: מאפשר לנו לעבד טקסט בתוך אלמנט HTML בהתאם למצב הנוכחי של משתנה.

אנו יכולים להשתמש בביטויי ברירת מחדל כדי לספק טקסט ברירת מחדל אם משתנה הוא ריק:

בדוגמה העליונה, אנו רוצים להציג את תוכן ה- מורה.תוספותכישוריםמשתנה אם הוא מוגדר ואנחנו רוצים את הטקסט "לא ידוע”להינתן אחרת.

אפשר גם להציג טקסט שרירותי בהתאם לביטוי בוליאני:

אנו יכולים לשאול על משתנה בוליאני פשוט כמו בדוגמה הקודמת, אך גם השוואות מחרוזות ובדיקות טווח אפשריות.

ההשוואה הבאה וייצוגיהם הטקסטואליים נתמכים> (gt),> = (ge), <(lt), <= (le), == (eq) ו-! = (ne).

3.2. אם - אלא אם כן

ה th: אם ו ת: אלא אם כן המאפיינים מאפשרים לנו לעבד אלמנט HTML בהתאם למצב המסופק:

 נקבה זכר 

אם התוכן של מורה.מין משתנה שווה ל- F, ואז אלמנט הטווח עם הערך "נְקֵבָה"ניתנת.

אחרת, האלמנט עם "זָכָר"ניתנת. התקנה כזו ניתנת להשוואה ל- אחרת סעיף הקיים ברוב שפות התכנות.

3.3. מתג - מארז

אם יש יותר משתי תוצאות אפשריות של ביטוי, נוכל להשתמש ב- th: מתג ו th: מקרה תכונות לעיבוד מותנה של רכיבי ה- HTML:

 עדיין אין קורסים! 

תלוי בגודל שלמורה.קורסיםברשימה אנו מציגים טקסט ברירת מחדל, קורס יחיד או כל הקורסים הזמינים. הכוכבית (*)משמש לאפשרות ברירת המחדל.

4. מסקנה

במאמר קצר זה, חקרנו את הסוגים השונים של תנאי Thymeleaf והצגנו כמה דוגמאות פשוטות המציגות את האפשרויות השונות.

את הדוגמאות ניתן למצוא בפרויקט GitHub.