Struts2的国际化 全局的国际化:(JSP,Action,配置文件)Action范围的国际化:包范围的国际化:临时的国际化
发布日期:2021-06-29 15:02:04 浏览次数:2 分类:技术文章

本文共 2007 字,大约阅读时间需要 6 分钟。

Java当中 的国际化:

概念:软件的国际化:软件可以根据来访者不同去自动切换语言进行显示。

提供一组资源包:

资源包需要有相同的基本名称。

命名规则:基本的名称_语言_国家.properties
通过ResourceBundle读取资源包。

Struts2中的国际化

一、全局的国际化:

A、提供一组资源包,在项目的任意位置(因为是全局的国际化所以任意位置都可以)

在src下创建两个文件

这里创建文件以后可能会碰到输入中文乱码的问题,请参考以下解决办法
创建这两个文件

message_en_US.properties

name=mary

message_zh_CN.properties

name=玛丽
B、需要在struts.xml当中开启常量:

在这里插入图片描述

1、在JSP当中

<%@ page language="java" contentType="text/html; charset=UTF-8"	pageEncoding="UTF-8"%><%@ taglib uri="/struts-tags" prefix="s"%>
Insert title here

国际化

测试

在这里插入图片描述

2、在Action类当中

创建I18NAction
package com.itzheng.web.action.demo7;import com.opensymphony.xwork2.ActionSupport;public class I18NAction extends ActionSupport {
@Override public String execute() throws Exception {
// TODO Auto-generated method stub String name = getText("name"); System.out.println(name); return NONE; }}

配置好访问路径

在这里插入图片描述
测试:
在这里插入图片描述
根据系统的设置的语言输出对应不同语言的信息
在这里插入图片描述

3、在配置文件当中

(1)更改资源包

message_en_US.properties

name=marylogin.username=Username not null!login.password=Password not null!

message_zh_CN.properties

name=玛丽login.username=用户名不能为空!(国际化文件)login.password=密码不能为空!(国际化文件)
(2)创建登录jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ taglib uri="/struts-tags" prefix="s" %>
Insert title here

登录页面

用户名:
密码:
(3)创建RegistAction

在这里插入图片描述

(4)LoginAction2-validation.xml

在这里插入图片描述

(5)配置访问

在这里插入图片描述

(6)测试

在这里插入图片描述

定义好全局的国际化,在任何地方都可以使用

二、Action范围的国际化:

在Action类使用:在Action所在的包下去创建一个属性文件。(名字要与Action的类名一致)

属性文件格式:类名_语言_国家.properties
在这里插入图片描述
在这里插入图片描述
只能在I18NAction当中使用

package com.itzheng.web.action.demo7;import com.opensymphony.xwork2.ActionSupport;public class I18NAction extends ActionSupport {
@Override public String execute() throws Exception {
// TODO Auto-generated method stub String key = getText("key"); System.out.println(key); return NONE; }}

在这里插入图片描述

测试
在这里插入图片描述
在这里插入图片描述

三、包范围的国际化

在当前包以及当前包的子包下使用。

1、在当前包内创建属性文件:package_zh_CN.properties文件(在该包下所有的Action都可以使用)

属性文件格式:package_语言_国家.properties

在这里插入图片描述
在这里插入图片描述
测试
在这里插入图片描述
在这里插入图片描述

四、临时的国际化

在页面的JSP当中使用

读取包下的国际化文件
在这里插入图片描述
在这里插入图片描述

五、拓展:占位符

通过占位符替换值

在这里插入图片描述
在这里插入图片描述

1、JSP页面上使用

在这里插入图片描述

2、在Action当中使用

在这里插入图片描述

在这里插入图片描述
测试
在这里插入图片描述
结果
在这里插入图片描述

转载地址:https://code100.blog.csdn.net/article/details/107042951 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:eclipse中创建.properties文件输入中文乱码,解决办法
下一篇:Struts2的自定义校验规则

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年04月25日 12时29分03秒