目标展示: 以苹果官网为例 不同地区的人访问的页面文字不一样
实现方式
第一步 创建一个消息资源包 在src下创建一个rescource包
命名方式:主要文件名_语言代码_国家代码.properties
包中写入相应的key -value
第二步 读取信息 调用如下代码
//读取国际化资源数据
//使用ResourceBundle读取数据
//baseName=包名+文件名
//默认读取是中文
//ResourceBundle rb = ResourceBundle.getBundle("resources.message");
//指定读取某个国家国际化数据
//ResourceBundle rb = ResourceBundle.getBundle("resources.message", Locale.US);
ResourceBundle rb = ResourceBundle.getBundle("resources.message", Locale.CHINA);
JSP读取数据的方式
<%
Locale local = Locale.getDefault();//获取到一个默认的国家语言
ResourceBundle rb = ResourceBundle.getBundle("resources.message", local);
%>
<%=local %>
<form action="${pageContext.request.contextPath}/login.action">
<%=rb.getString("login.username")%><input type="text" name="username"><br>
<%=rb.getString("login.password")%><input type="password" name="password"><br>
<input type="submit" value="<%=rb.getString("login.submit")%>">
</form>
Struts默认的国际化使用、
第一种 全局资源包的使用
第一步 配置全局资源包 所有的JSP都访问这个默认的资源包
value值为 包名.文件名
第二步 前端代码使用struts标签
第二种 包资源包的使用
资源包创建在与action目录并列的目录下,名字为package_语言代码_国家代码.propreties 这个只能被该包和子包的类使用
目录结构
action使用资源内容
第三种 局部资源包
资源包创建在action目录下,
读取顺序:局部资源包>包资源包>全局资源包 即三个都存在的时候 默认使用读取顺序高的资源包
自由的指定读取资源包
表示在web目录下的名字为package_的资源包 没有的话默认读全局的资源包