משתני נתיב קפיץ עם טימילף

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.