פרמטרים של בקשת האביב עם Thymeleaf

1. הקדמה

במאמר שלנו מבוא לשימוש ב- Thymeleaf באביב, ראינו כיצד לקשור קלט משתמש לאובייקטים.

השתמשנו th: אובייקט ו th: שדה בתבנית Thymeleaf ו- @ModelAttribute בבקר כדי לאגד נתונים לאובייקט Java. במאמר זה נבחן כיצד להשתמש בהערת האביב @RequestParam בשילוב עם Thymeleaf.

2. פרמטרים בטפסים

בואו ניצור תחילה בקר פשוט שמקבל ארבעה פרמטרים לבקשות אופציונליות:

@Controller מחלקה ציבורית MainController {@RequestMapping ("/") אינדקס מחרוזות ציבורי (@RequestParam (value = "משתתף", חובה = שקר) משתתף מחרוזת, @RequestParam (value = "country", חובה = false) מחרוזת, @ RequestParam (value = "action", required = false) פעולת מחרוזת, @RequestParam (value = "id", required = false) מזהה שלם, מודל מודל) {model.addAttribute ("id", id); רשימת userIds = asList (1,2,3,4); model.addAttribute ("userIds", userIds); להחזיר "אינדקס"; }}

שם התבנית שלנו ל- Thymeleaf הוא index.html. בשלושת הסעיפים הבאים נשתמש באלמנטים שונים של טופס HTML כדי שהמשתמש יעביר נתונים לבקר.

2.1. אלמנט קלט

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

התכונה th: name = "משתתף" קושר את הערך של שדה הקלט לפרמטר מִשׁתַתֵף של הבקר. כדי שזה יעבוד, עלינו להוסיף הערה לפרמטר @RequestParam (value = "משתתף").

2.2. בחר אלמנט

כך גם עבור אלמנט ה- HTML לבחור:

   גרמניה הולנד פולין לטביה 

ערך האפשרות שנבחרה קשור לפרמטר מדינה, ביאור עם @RequestParam (ערך = "מדינה").

2.3. אלמנט כפתור

אלמנט נוסף בו נוכל להשתמש th: שם הוא אלמנט הכפתור:

 צ'ק-אין צ'ק-אאוט 

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

3. פרמטרים בהיפר-קישורים

דרך נוספת להעביר פרמטרים לבקשה לבקר היא באמצעות היפר-קישור:

ונוכל להוסיף פרמטרים בסוגריים:

Thymeleaf מעריכה את האמור לעיל כדי:

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

  משתמש [[$ {userId}]]

אנו יכולים להעביר רשימה של מזהי משתמש כמאפיין לתבנית:

רשימת userIds = asList (1,2,3); model.addAttribute ("userIds", userIds);

ו- HTML שהתקבל יהיה:

 משתמש 1

משתמש 2

משתמש 3

הפרמטר תְעוּדַת זֶהוּת בהיפר-קישור קשור לפרמטר תְעוּדַת זֶהוּת, ביאור עם @RequestParam (value = “id”).

4. סיכום

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

ראשית, יצרנו בקר פשוט שמקבל פרמטרים של בקשה. שנית, בדקנו כיצד להשתמש ב- Thymeleaf כדי ליצור דף HTML שיכול להתקשר לבקר שלנו.

קוד המקור המלא לכל הדוגמאות במאמר זה נמצא ב- GitHub.