מדריך בינלאומי במגף האביב

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

במדריך מהיר זה, אנו נסתכל כיצד אנו יכולים להוסיף בינלאומי ליישום Spring Boot.

2. תלות Maven

לצורך פיתוח אנו זקוקים לתלות הבאה:

 org.springframework.boot spring-boot-starter-thymeleaf 1.5.2.RELEASE 

ניתן להוריד את הגרסה האחרונה של אביב-אתחול-התחלה-טימילף ממייבן סנטרל.

3. LocaleResolver

על מנת שהיישום שלנו יוכל לקבוע באיזה אזור נעשה כעת שימוש, עלינו להוסיף a LocaleResolver אפונה:

@Bean הציבורי LocaleResolver localeResolver () {SessionLocaleResolver slr = new SessionLocaleResolver (); slr.setDefaultLocale (Locale.US); להחזיר slr; }

ה LocaleResolver הממשק כולל יישומים הקובעים את האזור הנוכחי על סמך ההפעלה, קובצי ה- cookie, ה- קבל שפה כותרת, או ערך קבוע.

בדוגמה שלנו, השתמשנו ברזולר מבוסס ההפעלה SessionLocaleResolver והגדר אזור ברירת מחדל עם ערך לָנוּ.

4. LocaleChange Interceptor

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

@Bean ציבורי LocaleChangeInterceptor localeChangeInterceptor () {LocaleChangeInterceptor lci = LocaleChangeInterceptor חדש (); lci.setParamName ("lang"); להחזיר lci; }

על מנת להיכנס לתוקף, יש להוסיף שעועית זו לרישום היירוט של היישום.

כדי להשיג זאת, שלנו @תְצוּרָה על הכיתה ליישם את WebMvcConfigurer ממשק ועקוף את addInterceptors () שיטה:

@Override ריקים ציבוריים addInterceptors (InterceptorRegistry registry) {registry.addInterceptor (localeChangeInterceptor ()); }

5. הגדרת מקורות ההודעה

כברירת מחדל, יישום Spring Boot יחפש קבצי הודעות המכילים מפתחות וערכים בינלאומיים ב- src / main / resources תיקיה.

לקובץ עבור אזור ברירת המחדל יהיה שם messages.properties, וקבצים לכל אזור ייקראו שם הודעות_XX. נכסים, איפה XX הוא קוד האזור.

המפתחות עבור הערכים אשר יתמקמו צריכים להיות זהים בכל קובץ, עם ערכים המתאימים לשפה אליהם הם תואמים.

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

בואו נגדיר קובץ הודעות ברירת מחדל עבור השפה האנגלית שנקראת messages.properties:

ברכה = שלום! ברוך הבא לאתר שלנו! lang.change = שנה את השפה lang.eng = אנגלית lang.fr = צרפתית

לאחר מכן, בואו ניצור קובץ שנקרא הודעות_פר. נכסים לשפה הצרפתית עם אותם מקשים:

ברכה = בונז'ור! Bienvenue sur notre site! lang.change = Changez la langue lang.eng = אנגלית lang.fr = Francais

6. בקר ודף HTML

בואו ניצור מיפוי בקר שיחזיר דף HTML פשוט שנקרא international.html שאנחנו רוצים לראות בשתי שפות שונות:

@Controller מחלקה ציבורית PageController {@GetMapping ("/ international") מחרוזת ציבורית getInternationalPage () {return "international"; }}

מכיוון שאנו משתמשים ב- thymeleaf כדי להציג את דף ה- HTML, ניתן יהיה לגשת לערכים הספציפיים למיקום באמצעות המקשים עם התחביר #{מַפְתֵחַ}:

אם אתה משתמש בקבצי JSP, התחביר הוא:

אם אנו רוצים לגשת לדף עם שני המקומות השונים עלינו להוסיף את הפרמטר lang לכתובת האתר בצורה: / בינלאומי? lang = fr

אם לא lang הפרמטר קיים בכתובת ה- URL, היישום ישתמש באזור ברירת המחדל, במקרה שלנו לָנוּ אזור.

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

:     

ואז נוכל להוסיף סקריפט jQuery שיקרא /בינלאומי כתובת אתר עם כתובת המתאימה lang פרמטר בהתאם לאפשרות הנפתחת שנבחרה:

   $ (document) .ready (function () {$ ("# locales"). change (function () {var selectedOption = $ ('# locales'). val (); if (selectedOption! = '') {window .location.replace ('international? lang =' + אפשרות נבחרה);}});}); 

7. הפעלת האפליקציה

על מנת לאתחל את היישום שלנו, עלינו להוסיף את המחלקה הראשית עם הערות @ SpringBootApplication:

@SpringBootApplication Class public InternationalizationApp {public static void main (String [] args) {SpringApplication.run (InternationalizationApp.class, args); }}

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

בואו נראה את הגרסה האנגלית:

ועכשיו בואו נראה את הגרסה הצרפתית:

8. מסקנה

במדריך זה הראינו כיצד אנו יכולים להשתמש בתמיכה לבינאום ביישום Spring Boot.

קוד המקור המלא של הדוגמה נמצא ב- GitHub.


$config[zx-auto] not found$config[zx-overlay] not found