אביב וצימון 3: ביטויים

1. הקדמה

Thymeleaf הוא מנוע תבנית Java לעיבוד וליצירת HTML, XML, JavaScript, CSS וטקסט רגיל. לקבלת מבוא ל- Thymeleaf ו- Spring, עיין במכתב זה.

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

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

2. תלות Maven

ראשית, הבה נראה את התצורה הנדרשת לצורך שילוב Thymeleaf עם Spring. ה קפיץ עליון ספרייה נדרשת בתלות שלנו:

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

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

3. אובייקטים של כלי ביטוי

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

לצורך המאמר הנוכחי, יצרנו בקר אביב וקובץ HTML - כדי לבדוק את כל התכונות שעליהם נדון. להלן הרשימה המלאה של אובייקטים עוזרים זמינים ותפקידיהם:

  • #תאריכים: שיטות שימוש עבור java.util.Date חפצים
  • # יומנים: דומה ל #תאריכים, משמש ל java.util.Calendar חפצים
  • # מספרים: שיטות שימוש לעיצוב אובייקטים מספריים
  • # מיתרים: שיטות שימוש עבור חוּט חפצים
  • # אובייקטים: שיטות שירות עבור Java לְהִתְנַגֵד כיתה בכלל
  • #bools: שיטות שימוש עבור בוליאני הַעֲרָכָה
  • # מערכים: שיטות שימוש למערכים
  • # רשימות: שיטות שימוש לרשימות
  • #סטים: שיטות שימוש לסטים
  • # מפות: שיטות שימוש עבור מפות
  • # אגרגטים: שיטות שימוש ליצירת אגרגטים על מערכים או אוספים
  • # הודעות: שיטות שימוש להשגת הודעות מוחצנות בתוך ביטויים משתנים

3.1. אובייקטים תאריכים

הפונקציה הראשונה בה אנו רוצים לדון היא עיבוד ה- java.util.Date חפצים. הביטוי כלי אובייקט אחראי תַאֲרִיך עיבוד מתחיל ב # dates.functionName (). הפונקציה הראשונה שאנו רוצים לכסות היא עיצוב של a תַאֲרִיך אובייקט (שמתווסף לפרמטרים של מודל Spring).

נניח שאנחנו רוצים להשתמש ISO8601 פוּרמָט:

לא משנה איך שלנו תַאֲרִיך הוגדר בצד האחורי, הוא צריך להיות מוצג בהתאם לסטנדרט זה. יתרה מכך, אם אנו רוצים להיות ספציפיים עם הפורמט, אנו יכולים לציין אותו באופן ידני:

הפונקציה לוקחת שני משתנים כפרמטרים: תַאֲרִיך והפורמט שלה.

לבסוף, הנה כמה פונקציות שימושיות שניתן להשתמש בהן:

בראשון נקבל את שם יום השבוע, בשני ניצור חדש תַאֲרִיך ולבסוף ניצור חדש תַאֲרִיך עם הזמן שנקבע לשעה 00:00.

3.2. אובייקטים ביומן

כלי השירות של היומן דומים מאוד לעיבוד תאריכים, אלא שאנחנו משתמשים במופע של ה- java.util.Calendar לְהִתְנַגֵד:

ההבדל היחיד הוא מתי אנחנו רוצים ליצור חדש לוּחַ שָׁנָה למשל:

שים לב, אנו עשויים להשתמש בכל לוּחַ שָׁנָה שיטת מחלקה על מנת לקבל נתונים מבוקשים.

3.3. עיבוד מספרים

עוד תכונה קומץ מאוד היא עיבוד מספרים. בואו נתמקד בא מספר משתנה, נוצר באופן אקראי עם לְהַכפִּיל סוּג:

בשורה הראשונה אנו מעצבים את המספר העשרוני על ידי הגדרת ספרות שלמות מינימליות וספרות עשרוניות מדויקות. בשנייה, בנוסף לספרות שלמות ועשרוניות, ציינו את המפריד העשרוני. האפשרויות הן נְקוּדָה, פסיק, WHITESPACE, אף אחד אוֹ בְּרִירַת מֶחדָל (לפי אזור).

יש עוד פונקציה אחת שאנחנו רוצים להציג בפסקה זו. זהו יצירת רצף של מספרים שלמים:

בדוגמה הראשונה היה לנו ש- Thymeleaf יצר רצף מ- 0-2, ואילו בשני בנוסף לערך מינימלי ומקסימלי, סיפקנו הגדרה של שלב (בדוגמה זו הערכים ישתנו בשניים).

שימו לב, המרווח סגור משני הצדדים.

3.4. פעולות מיתרים

זהו המאפיין המקיף ביותר של אובייקטים של כלי ביטוי.

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

במקום זאת, אנו יכולים לעשות זאת:

הראשון חוּט אינו ריק ולכן השיטה תחזור שֶׁקֶר. השני חוּט הוא ריקאז נקבל נָכוֹן. לבסוף, אנו עשויים להשתמש # strings.defaultString (...) שיטה לציין ערך ברירת מחדל, אם חוּט יהיה ריק.

ישנן עוד הרבה שיטות. כולם עובדים לא רק עם מיתרים אלא גם עם Java.Collections. לדוגמא לשימוש בפעולות הקשורות למזרקים:

או להשתמש בהשוואה ושרשור בטוחים ללא בטל:

לבסוף, יש תכונות הקשורות לסגנון טקסט, שישמרו על תחביר זהה תמיד:

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

בשיטה השנייה נבצע שימוש באותיות רישיות במילים.

3.5. אגרגטים

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

4. מסקנה

במאמר זה דנו בתכונות אובייקט השירות של Expression המיושמות במסגרת Thymeleaf, גרסה 3.0.

ניתן למצוא את היישום המלא של מדריך זה בפרויקט GitHub.

איך לבדוק? ההצעה שלנו היא לשחק קודם עם דפדפן, ואז לבדוק גם את מבחני ה- JUnit הקיימים.

שימו לב, כי דוגמאות אינן מכסות את כל ביטויי השירות הזמינים. אם אתה רוצה ללמוד על כל סוגי השירותים, עיין כאן.