Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

วิธีการตั้งค่าระบุตำแหน่งเพื่อระบุบันเดิลทรัพยากรที่จำเป็นใน JSP


แท็กใช้เพื่อเก็บโลแคลที่กำหนดในตัวแปรคอนฟิกูเรชันโลแคล

คุณสมบัติ

แท็กมีคุณสมบัติดังต่อไปนี้ −

แอตทริบิวต์ คำอธิบาย จำเป็น ค่าเริ่มต้น
ค่า ระบุรหัสสองส่วนที่แสดงถึงรหัสภาษา ISO-639 และรหัสประเทศ ISO-3166 ใช่ en_US
ตัวแปร ตัวเลือกเฉพาะเบราว์เซอร์ ไม่ ไม่มี
ขอบเขต ขอบเขตของตัวแปรคอนฟิกูเรชันโลแคล ไม่ หน้า

ตัวอย่าง

บันเดิลรีซอร์สมีอ็อบเจ็กต์เฉพาะโลแคล บันเดิลรีซอร์สประกอบด้วยคู่คีย์/ค่า เมื่อโปรแกรมของคุณต้องการทรัพยากรเฉพาะของโลแคล คุณต้องเก็บคีย์ทั้งหมดไว้สำหรับโลแคลทั้งหมด แต่คุณสามารถมีค่าแปลเฉพาะของโลแคลได้ ชุดทรัพยากรช่วยในการจัดเตรียมเนื้อหาเฉพาะสำหรับสถานที่

ไฟล์บันเดิลทรัพยากร Java มีชุดของ การแมปคีย์กับสตริง . วิธีการที่เรามุ่งเน้นเกี่ยวข้องกับการสร้างคลาส Java ที่คอมไพล์แล้วซึ่งขยาย java.util.ListResourceBundle ระดับ. คุณต้องรวบรวมไฟล์คลาสเหล่านี้และทำให้พร้อมใช้งานใน classpath ของเว็บแอปพลิเคชันของคุณ

ให้เรากำหนดชุดทรัพยากรเริ่มต้นดังนี้ -

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"},
   };
}

ให้เรากำหนดชุดทรัพยากรอีกหนึ่งชุดที่เราจะใช้สำหรับ Spanish Locale -

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"},
   };
}

ให้เรารวบรวมคลาสข้างต้น Example.class และ Example_es_ES.class และทำให้พร้อมใช้งานใน CLASSPATH ของเว็บแอปพลิเคชันของคุณ ตอนนี้คุณสามารถใช้แท็ก JSTL ต่อไปนี้เพื่อแสดงตัวเลขสามตัวดังนี้ -

<%@ 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>

รหัสข้างต้นจะสร้างผลลัพธ์ดังต่อไปนี้ -

One
Two
Three
Uno
Dos
Tres