Struts2 国际化配置i18n
Struts2提供对页面及程序数据的国际化(i18n)功能。接下来我们看看如何开发?
1 准备国际化资源文件
在src目录下建立resources目录,创建两个文件
message_en_US.properties:该文件为英文国际化资源文件,内容如下:
loginInfo=LOGIN PAGE
user=USER NAME
password=PASSWORD
loginbtn=LOGIN
message_zh_CN.properties:该文件为中文国际化资源文件,内容如下:
loginInfo=\u767B\u5F55\u9875\u9762
user=\u7528\u6237\u540D
password=\u5BC6\u7801
loginbtn=\u767B\u5F55
2 struts.xml配置国际化文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<!-- 加载国际化资源文件 -->
<constant name="struts.custom.i18n.resources" value="resources.message"></constant>
3 编写JSP页面进行国际化
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>一点教程-struts2的国际化</title>
</head>
<body>
<h3><s:text name="loginInfo"/></h3>
<form action="demo1.action" method="post">
<s:text name="user"/>:<input type="text" name="userName"/><br/>
<s:text name="password"/>:<input type="password" name="userPwd"/><br/>
<input type="submit" value="<s:text name="loginbtn"/>"/>
</form>
</body>
</html>
其中<s:text name="属性名"/>标签用于到国际化资源文件获取对应的属性值。
4 访问测试
以Google浏览器为例
1)把浏览器语言设置为"中文"
页面显示效果为:
2)把浏览器语言设置为"英文"
页面显示效果为:
5 在Action程序进行国际化
package com.yiidian.action;
import com.opensymphony.xwork2.ActionSupport;
/**
* @author 一点教程(yiidian.com)
*/
public class Demo1Action extends ActionSupport{
@Override
public String execute() throws Exception {
//获取国际化资源文件信息
String user = this.getText("user");
System.out.println(user);
return SUCCESS;
}
}
访问Action时,切换不同浏览器语言,同样可以看到信息的变化。
热门文章
优秀文章