Struts2框架使用之struts2的国际化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Struts2框架使用之struts2的国际化相关的知识,希望对你有一定的参考价值。

国际化(Internationlization),通俗地讲,就是让软件实现对多种语言的支持;

想要软件国际化需要设置配置文件,例如:

首先创建一个mrlv.properties文件,这个文件是默认使用的语言。编写所需要国际化的字段:

这里的value是Unicode编码。{0}是一个可变参数。

mrlv.properties

userName=\\u7528\\u6237\\u5040d
password=\\u5bc6\\u7801
login=\\u767b\\u5f55
welcomeInfo=\\u6b22\\u8fce{0}

然后创建一个mrlv_en_US.properties文件,这个是英文。

mrlv_en_US.properties

userName=userName
password=password
login=login
welcomeInfo=welcome{0}

再创建一个mrlv_en_US.properties文件,这个是中文。

mrlv_zh_CN.properties

userName=\\u7528\\u6237\\u540d
password=\\u5bc6\\u7801
login=\\u767b\\u5f55
welcomeInfo=\\u6b22\\u8fce{0}

注意,这里的命名是有规范的,***_zh_CN、***_en_US等等。

然后再struts.xml开启国际化。value填入的是默认语言

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
  <constant name="struts.custom.i18n.resources" value="mrlv"></constant>
</struts>

<s:text name=""></s:text> 访问国际化资源,如下,jsp页面。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<!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>
<body>
<table>
    <tr>
        <td><s:text name="userName"></s:text></td>
        <td>
            <input type="text"/>
        </td>
    </tr>
    <tr>
        <td><s:text name="password"></s:text></td>
        <td>
            <input type="text"/>
        </td>
    </tr>
    <tr>
        <td>
            <input type="button" value="<s:text name=‘login‘></s:text>"/>
        </td>
    </tr>
</table>
</body>
</html>

以及

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<!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>
<body>
<!-- 访问国际化资源 -->
<s:text name="welcomeInfo">
    <s:param>Jack</s:param>
</s:text>
</body>
</html>

中文环境下:

技术分享图片

英文环境下:

技术分享图片

 

 

如此便是struts2支持的国际化

以上是关于Struts2框架使用之struts2的国际化的主要内容,如果未能解决你的问题,请参考以下文章

j2ee之struts2的国际化数据方式

Struts2之国际化

Struts2 学习

Struts2框架之类型转换 --Struts2框架

struts2学习1

Java 49:struts2