Using locales

Một phần của tài liệu Báo Cáo Seminar- Spring MVC (Trang 27)

- Chú ý: Các lớp con của AbstractCachingViewResolver, cache view sẽ giải quyết

6. Using locales

- Hầu hết các bộ phận của kiến trúc quốc tế của Spring được hỗ trợ, cũng như khuôn khổ Spring MVC web. DispatcherServlet cho phép bạn tự động giải quyết các thông tin sử dụng locales của client. Điều này được thực hiện với các đối tượng LocaleResolver.

- Khi yêu cầu đến, DispatcherServlet sẽ tìm một LocaleResolver, và nếu nó tìm thấy một LocaleResolver, nó cố gắng sử dụng LocaleResolver để đặt 1 locale Sử dụng phương pháp RequestContext.getLocale (), bạn có thể luôn lấy các locale đã được giải quyết bằng các LocaleResolver.

- Ngoài độ phân giải locales tự động, bạn cũng có thể đính kèm một sơ đồ chặn để xử lý, để thay đổi locale trong những hoàn cảnh cụ thể, ví dụ, dựa trên vào một tham số trong yêu cầu.

- Vị trí phân giải và sơ đồ chặn được định nghĩa tại các gói org.springframework.web.servlet.i18n và được cấu hình trong ứng dụng của bạn theo cách thông thường. Đây là một sự chọn lọc của LocaleResolver trong Spring.

6.1. AcceptHeaderLocaleResolver

- Bộ LocaleResolver kiểm tra tiêu đề accept-language trong yêu cầu đã được gửi của client (Ví dụ, một trình duyệt web). Thông thường lĩnh vực này tiêu đề chứa các locale của hệ điều hành của client.

6.2. CookieLocaleResolver

- Nếu locale được chỉ định thì LocaleResolver này có thể thấy được sự tồn tại của Cookie trên các client bằng việc kiểm tra Cookie . Nếu vậy, nó sử dụng locale quy định. Sử dụng các tính chất của LocaleResolver này, bạn có thể chỉ định tên của

cookie cũng như độ dài tối đa. Dưới đây một ví dụ về xác định một CookieLocaleResolver.

Bảng Những thuộc tính của CookieLocaleResolver

Thuộc tính Mặc định Mô tả

cookieName classname + LOCALE Tên của cookie

cookieMaxAge Integer.MAX_INT Thời gian tối đa một cookie sẽ ở lại lâu dài đối với client. Nếu -1 là quy định, các cookie sẽ không tồn tại, nó sẽ chỉ có sẵn cho đến khi client tắt trình duyệt của mình.

cookiePath Giới hạn khả năng hiển thị

của các tập tin cookie cho một phần nào đó của trang web. Khi cookiePath được quy định, các cookie sẽ chỉ được hiển thị cho con đường và các đường dẫn bên dưới.

6.3. SessionLocaleResolver

- SessionLocaleResolver cho phép bạn lấy địa điểm locale từ session có thể được kết hợp với yêu cầu của người dùng.

6.4. LocaleChangeInterceptor

- Bạn có thể cho phép thay đổi của locale bằng cách thêm các LocaleChangeInterceptor một trong các sơ đồ Handler .Nó sẽ phát hiện một số yêu cầu và thay đổi locale. Nó gọi setLocale () trên LocaleResolver đó cũng tồn tại trong trường hợp đó. Ví dụ sau đây cho thấy rằng cách gọi đến tất cả các nguồn tài nguyên *.view có chứa một tham số siteLanguage được đặt tên sẽ thay đổi local. Vì vậy, ví dụ, một yêu cầu cho các URL, http://www.sf.net/home.view? siteLanguage=nl sẽ thay đổi ngôn ngữ trang web thành tiếng Hà lan.

Một phần của tài liệu Báo Cáo Seminar- Spring MVC (Trang 27)

w