משתני נתיב קפיץ עם טימילף
1. הקדמה
במדריך קצר זה, נלמד כיצד להשתמש ב- Thymeleaf ליצירת כתובות URL באמצעות משתני נתיב קפיצי.
אנו משתמשים במשתני נתיבים כאשר אנו רוצים להעביר ערך כחלק מ- URL. בבקר אביב, אנו ניגשים לערכים אלה באמצעות ה- @ PathVariable ביאור.
2. שימוש במשתני נתיב
ראשית, בואו נקבע את הדוגמה שלנו על ידי יצירת פשוט פריט מעמד:
פריט בכיתה ציבורית {מזהה פרטי פרטי; שם מחרוזת פרטי; // בונים וקובעים סטנדרטיים}
עכשיו, בואו ניקח ליצור את הבקר שלנו:
מחלקה ציבורית @Controller PathVariablesController {@GetMapping ("/ pathvars") תחילת מחרוזת (מודל מודל) {פריטי רשימה = ArrayList חדש (); items.add (פריט חדש (1, "פריט ראשון")); items.add (פריט חדש (2, "פריט שני")); model.addAttribute ("פריטים", פריטים); להחזיר "מסלולים / אינדקס"; } @ GetMapping ("/ pathvars / single / {id}") ציבורי מחרוזת singlePathVariable (@PathVariable ("id") מזהה int, מודל מודל) {if (id == 1) {model.addAttribute ("item", חדש פריט (1, "פריט ראשון")); } אחר {model.addAttribute ("פריט", פריט חדש (2, "פריט שני")); } להחזיר "pathvariables / view"; }}
בשלנו index.html תבנית, בואו נעבור בין הפריטים שלנו וצור קישורים שקוראים ל- singlePathVariable שיטה:
הקוד שיצרנו זה עתה גורם לכתובות אתרים כאלה:
// localhost: 8080 / pathvars / single / 1
זהו תחביר רגיל של Thymeleaf לשימוש בביטויים בכתובות אתרים.
אנו יכולים גם להשתמש בשרשור כדי להשיג את אותה התוצאה:
3. שימוש במשתני נתיבים מרובים
עכשיו כשסקרנו את היסודות של יצירת כתובת URL למשתנה נתיב ב- Thymeleaf, בואו נכסה במהירות באמצעות מספר רב.
ראשית, ניצור פרט בכיתה ושינוי שלנו פריט בכיתה כדי לקבל רשימה של אותם:
פרט בכיתה ציבורית {מזהה פרטי פרטי; תיאור מחרוזת פרטי; // בונים וקובעים סטנדרטיים}
לאחר מכן, בואו להוסיף רשימה של פרט ל פריט:
פרטי רשימת פרטי;
עכשיו, בואו ונעדכן את הבקר שלנו כדי להוסיף שיטה באמצעות מספר רב @ PathVariable ביאורים:
@GetMapping ("/ pathvars / item / {itemId} / detail / {dtlId}") public String multiplePathVariable (@PathVariable ("itemId") int itemId, @PathVariable ("dtlId") int dtlId, דגם מודל) {עבור ( פריט פריט: פריטים) {if (item.getId () == itemId) {model.addAttribute ("פריט", פריט); עבור (פרט פרט: item.getDetails ()) {if (detail.getId () == dtlId) {model.addAttribute ("פרט", פרט); }}}} להחזיר "נתיבים / תצוגה"; }
לבסוף, בואו לשנות את שלנו index.html תבנית ליצירת כתובות אתרים לכל רשומת פרט:
4. מסקנה
במדריך מהיר זה למדנו כיצד להשתמש ב- Thymeleaf ליצירת כתובות אתרים עם משתני נתיבים. התחלנו ביצירת URL פשוט עם כתובת אחת בלבד. מאוחר יותר הרחבנו את הדוגמה שלנו לשימוש במשתני נתיבים מרובים.
קוד הדוגמה זמין ב- GitHub.