博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Struts2 internationalization(国际化)
阅读量:5140 次
发布时间:2019-06-13

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

1:什么是国际化?

国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式。它要求从产品中抽离所有的与语言,国家/地区和文化相关的元素。换言之,应用程序的功能和代码设计考虑在不同地区运行的需要,其代码简化了不同本地版本的生产。开发这样的程序的过程,就称为国际化。

2:在什么样的状况下使用国际化?

国际化是指的多语言支持,比方说你登录一个系统后,页面上的标签可以默认显示中文,或者默认显示英文。国际化在中比较常用,以便于不同母语的用户使用系统。
3:为什么使用国际化?
原因:因为语言种类繁多 4.如何国际化一个项目?   1》在struts.xml文件中配置如下:
/success.jsp
/regist.jsp

 

 

  2》配置资源文件

  中文:message.properties

 
register.page=\u7528\u6237\u6CE8\u518Cregister.title=\u65B0\u7528\u6237\u6CE8\u518Cname=\u59D3\u540Dpassword=\u5BC6\u7801repassword=\u786E\u8BA4\u5BC6\u7801telephone=\u7535\u8BDD\u53F7\u7801username=\u7528\u6237\u540Dsubmit=\u7ACB\u5373\u6CE8\u518Cname.null=\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A
 

  英文:message_en.properties

 
register.page=HouserRent-User Registerregister.title=New User Registername=Namepassword=Passwordrepassword=RePasswordtelephone=Telephoneusername=UserNamesubmit=Register Now name.null=Name cannot be null
 

  3》创建Action

 

package cn.action;import com.opensymphony.xwork2.ActionSupport;public class languageAction  extends ActionSupport{    private String name;    private String password;    private String repassword;    private String telephone;    private String username;    @Override    public String execute() throws Exception {                return SUCCESS;    }        @Override    public void validate() {        if(this.name==null||this.name.equals(""))        {          this.addActionError(this.getText("name.null"));        }    }        public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }    public String getRepassword() {        return repassword;    }    public void setRepassword(String repassword) {        this.repassword = repassword;    }    public String getTelephone() {        return telephone;    }    public void setTelephone(String telephone) {        this.telephone = telephone;    }    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }}

 

 

 

 

  4》创建jsp页面

使用ognl表达式展示国际化!
,也可以放在
标签中
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@ page isELIgnored="false"%><%@ taglib uri="/struts-tags" prefix="s"%>    <s:text name="register.page"></s:text>    

 

5》改变浏览器的语言首选项,通过上移,下移按钮来改变!

 

 

 

 

效果:

中文

英文

 

 使用国际化验证错误

Action类中植入如下代码

public void validate() {        if(this.name==null||this.name.equals(""))        {          this.addActionError(this.getText("name.null"));        }    }

 

在资源文件中各自添加代码

name.null=Name cannot be null

name.null=\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A

 

 

 效果: 中文错误:

英文错误:

 

 

 

转载于:https://www.cnblogs.com/jingpeipei/p/5953357.html

你可能感兴趣的文章
交易与风险
查看>>
Hibernate: Could not find a getter for iUserId in class com.Hibernate.pojo.User异常
查看>>
windows环境下搭建RocketMQ
查看>>
CSS--基础
查看>>
基于OpenGL的渲染引擎
查看>>
Android HTTP GET 小文件下载
查看>>
ember.js:使用笔记4 数组数据的分组显示
查看>>
mvc-9测试和调试
查看>>
移植linux-2.6.32.2到qq2440
查看>>
转义字符(\)对JavaScript中JSON.parse的影响概述
查看>>
MySQL学习9 - 单表查询
查看>>
利用kubeadm部署k8s
查看>>
如何在MVC中显示条形码图片(以内存流的方式)
查看>>
解析文件夹下的所有二维码,并输出二维码中的信息
查看>>
高精度加减
查看>>
表单验证
查看>>
python细节2
查看>>
游戏引擎 Unity 的入门易精通难体现在哪?为什么?
查看>>
用标签、按钮和文本框编辑一个个人信息简介页面
查看>>
SQL查询xml内容
查看>>