JSP----国际化

软件的本地化,一个软件在某个国家或者地区使用时,采用该国家或地区的语言,数字、货币、日期等习惯。
软件的国际化:软件开发时,让它能支持多个国家和地区的本地化应用。使得应用软件能够适应多个地区的语言和文化风俗习惯。
随用户区域信息而变化的数据称为本地信息敏感数据。例如数字,货币等数据。
应用程序的国际化就是在应用软件的设计阶段,使软件能够支持多个国家和地区的用户习惯。

一、Locale类

一个 Locale对象代表一个特定的地理、政治或文化区。操作需要一个 Locale执行其任务称为现场敏感和使用 Locale定制信息的用户。例如,显示一个数字是一个区域设置敏感的操作-该数字应该被格式化,根据用户的母语国家,地区或文化的习俗和惯例。
在这里插入图片描述
在这里插入图片描述
使用:

public class LocaleTest {

	@Test
	public void test1() throws Exception{
		System.out.println(Locale.CHINA);
		System.out.println(Locale.US);
		System.out.println(Locale.FRANCE);
		System.out.println(Locale.TAIWAN);
	}
}

结果:(语言_国家)
在这里插入图片描述

二、Format类

在这里插入图片描述
在这里插入图片描述
使用:

public class FormatTest {
	
//日期
	@Test
	public void testFormat() throws Exception{
		System.out.println("DateFormat日期:");
		System.out.println(new Date());
		System.out.println(DateFormat.getInstance().format(new Date()));
	}
	
//货币
	@Test
	public void testNumberFormat() throws Exception{
		System.out.println("NumberFormat:货币");
		Double money = 123456.123;
		NumberFormat format = NumberFormat.getCurrencyInstance(Locale.CHINA);
		System.out.println(format.format(money));
	}

//拼接
	@Test
	public void MessageFormatDemo() throws Exception{
		System.out.println("MessageFormat:拼接");
		String pattern = "我是{5},你是{0},他是{1},她是{2},它是{3},他们{4}";
		String str = MessageFormat.format(pattern, "A","B","C","D","E","F");
		System.out.println(str);
	}
	//可以用于拼接SQL语句
	@Test
	public void testSql() throws Exception{
		String sql = "SELECT * FROM {0} {1}";
		String ret = MessageFormat.format(sql, "product","WHERE productName LIKE ?");
		System.out.println(ret);
	}
}

结果:
在这里插入图片描述

小实例:

资源文件:
在这里插入图片描述
其中app_en_US.properties是“美国”有关资源文件
app_en_CN.properties是“中国”有关资源文件
app.properties是默认资源文件(一般为英文)
app_en_US.properties:

username=will
company=see

app_en_CN.properties:(无需修改文件编码)

username=\u5F20\u4E09
company=\u963F\u91CC\u5DF4\u5DF4

ResourceBundleDemo.java:

public class ResourceBundleDemo {
	public static void main(String[] args) {
		//ResourceBundle可以读取资源文件,获取其中的信息
		ResourceBundle rb = ResourceBundle.getBundle("app",Locale.CHINA);
		
		String  username = rb.getString("username");
		String  company = rb.getString("company");
		System.out.println(username+","+company);
	}
}

若是CHINA:
在这里插入图片描述
若是US:

在这里插入图片描述



如果要添加多个国家,只需要增加资源文件即可,资源文件中设置需要修改的属性和所对应的值,用户需要哪个国家可以随意切换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值