Computer >> Máy Tính >  >> Lập trình >> Lập trình

Làm cách nào để đặt định vị để xác định gói tài nguyên được yêu cầu trong JSP?

được sử dụng để lưu trữ ngôn ngữ nhất định trong biến cấu hình ngôn ngữ.

Thuộc tính

thẻ có các thuộc tính sau -

Thuộc tính Mô tả Bắt buộc Mặc định
Giá trị Chỉ định mã hai phần đại diện cho mã ngôn ngữ ISO-639 và mã quốc gia ISO-3166. vi_VN
biến thể Biến thể dành riêng cho trình duyệt Không Không có
phạm vi Phạm vi của biến cấu hình ngôn ngữ Không Trang

Ví dụ

Gói tài nguyên chứa các đối tượng theo ngôn ngữ cụ thể. Gói tài nguyên chứa các cặp khóa / giá trị. Khi chương trình của bạn cần một tài nguyên dành riêng cho ngôn ngữ, bạn giữ tất cả các khóa chung cho tất cả ngôn ngữ nhưng bạn có thể dịch các giá trị cụ thể cho ngôn ngữ. Các gói tài nguyên giúp cung cấp nội dung cụ thể cho ngôn ngữ.

Tệp gói tài nguyên Java chứa một loạt ánh xạ từ khóa đến chuỗi . Phương pháp mà chúng tôi tập trung vào liên quan đến việc tạo các lớp Java đã biên dịch để mở rộng java.util.ListResourceBundle lớp. Bạn phải biên dịch các tệp lớp này và cung cấp chúng cho classpath của ứng dụng Web của bạn.

Hãy để chúng tôi xác định gói tài nguyên mặc định như sau -

package com.tutorialspoint;
import java.util.ListResourceBundle;
public class Example_En extends ListResourceBundle {
   public Object[][] getContents() {
      return contents;
   }
   static final Object[][] contents = {
      {"count.one", "One"},
      {"count.two", "Two"},
      {"count.three", "Three"},
   };
}

Bây giờ chúng ta hãy xác định thêm một gói tài nguyên mà chúng ta sẽ sử dụng cho Ngôn ngữ Tây Ban Nha -

package com.tutorialspoint;
import java.util.ListResourceBundle;
public class Example_es_ES extends ListResourceBundle {
   public Object[][] getContents() {
      return contents;
   }
   static final Object[][] contents = {
      {"count.one", "Uno"},
      {"count.two", "Dos"},
      {"count.three", "Tres"},
   };
}

Hãy để chúng tôi biên dịch các lớp trên Example.class Example_es_ES.class và cung cấp chúng trong CLASSPATH của ứng dụng Web của bạn. Bây giờ bạn có thể sử dụng các thẻ JSTL sau để hiển thị ba số như sau -

<%@ taglib uri = "https://java.sun.com/jsp/jstl/core" prefix = "c" %>
<%@ taglib uri = "https://java.sun.com/jsp/jstl/fmt" prefix = "fmt" %>
<html>
   <head>
      <title>JSTL fmt:setLocale Tag</title>
   </head>
   <body>
      <fmt:bundle basename = "com.tutorialspoint.Example">
         <fmt:message key = "count.one"/><br/>
         <fmt:message key = "count.two"/><br/>
         <fmt:message key = "count.three"/><br/>
      </fmt:bundle>
      <!-- Change the Locale -->
      <fmt:setLocale value = "es_ES"/>
      <fmt:bundle basename = "com.tutorialspoint.Example">
         <fmt:message key = "count.one"/><br/>
         <fmt:message key = "count.two"/><br/>
         <fmt:message key = "count.three"/><br/>
      </fmt:bundle>
   </body>
</html>

Đoạn mã trên sẽ tạo ra kết quả sau -

One
Two
Three
Uno
Dos
Tres