คุณสมบัติ
แอตทริบิวต์ | คำอธิบาย | จำเป็น | ค่าเริ่มต้น |
---|---|---|---|
ค่า | ระบุรหัสสองส่วนที่แสดงถึงรหัสภาษา 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