【3.Java实现部署环境切换中英文显示】

本文介绍通过IT18N方式实现Java Project和JavaWeb中英文切换,即国际化多语言支持。准备三个配置文件,分别为默认、中文和英文配置。阐述了Java Project和Java Web获取ResourceBundle对象及显示内容的方法,还给出项目结构图和语言资源包准备步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本篇文章通过 IT18N的方式实现了  Java Project 和 JavaWeb 中英文切换:也就是国际化多语言支持。

基本思路: 准备 三个配置文件,一个是默认的文件,一个中文配置,一个英文配置。

    Java Project

获取配置文件路径,通过 ResourceBundle (baseame,Locale.xx);来拼接文件名。

获取   ResourceBundle 对象,通过对象读取文件内容。(ResourceBundle  仅仅是一个Properties的处理对象)

    Java Web : (jsp+java脚本)

通过 jsp页面 做一个 按钮,通过点击按钮 通过转发刷新页面附带 语言标识,获取ResourceBundle 对象,存储到session中。, 

之后的页面通过 java脚本 获取 session 对象,做赋值显示。

 

项目将 Java  和 Java Web  写在一个项目里面了。

1.准备工作

1.1 先上一个 项目结构图:(方便排错,一目了然)

 

1.2 准备语言资源包:

默认缺省显示:

中文环境显示:

英文环境显示:

 

2. 功能的实现

1. 实现了 java 项目的 中英文显示,用来测试 资源包是否 可用。

 

2.1  关于 Java项目

2.1.1  I18NTest.java的代码:

package test;

import java.util.Locale;
import java.util.ResourceBundle;

public class I18NTest {

	public static void main(String[] args) {
		// 资源包
		String basename = "I18N.resource.myproperties";
		// 设置语言环境
		Locale cn = Locale.CHINA;
		Locale us = Locale.US;
		
		// 加载资源包
		ResourceBundle myResourceBundle_CN = ResourceBundle.getBundle(basename, cn);
		ResourceBundle myResourceBundle_US = ResourceBundle.getBundle(basename, us);
		
		// 获取资源包的内容
		String username_CN = myResourceBundle_CN.getString("username");
		String password_CN = myResourceBundle_CN.getString("password");
		
		String username_US = myResourceBundle_US.getString("username");
		String password_US = myResourceBundle_US.getString("password");
		
		System.out.println(username_CN + "----------" + password_CN);
		System.out.println(username_US + "----------" + password_US);
	}

}

2.1.2  实现效果:

2.2  关于 Java Web项目

2.2.1  I18NTest.jsp的代码:

<%@page import="java.util.*"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<% 
	ResourceBundle myResourceBundle = ResourceBundle.getBundle("I18N.resource.myproperties", request.getLocale());
%>
<body>
	<%=myResourceBundle.getString("username") %>:<input type="text">
	<%=myResourceBundle.getString("password") %>:<input type="text">
	<input type="submit" value="<%=myResourceBundle.getString("submit") %>">
</body>
</html>

2.2.2  显示效果:

当 系统的语言是英文时:

当系统的语言是中文时:

2.2.3  语言的切换,可以通过浏览器设置,修改:

有时候需要,可选项没有英语,需要通过win的语言设置添加:

 

嗯,就这样。

 

上周周会,lz让我使用 证书 和 私钥写 一个pfx出来,说实话,他说的时候,我根本不知道pfx是什么,还好,看了之后感觉不难,但是4个小时才写个1.0 实现了功能,自己还是不太懂,勉强交差了,私下认真看了很久。

https://blog.youkuaiyun.com/ca1m0921/article/details/82833556

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值