- 配置资源文件
1.使用struts.xml文件(推荐使用)
constant name="struts.custom.i18n.resources" value="globalMessages"/>
2.使用struts.properties(推荐使用)
struts.custom.i18n.resources=globalMessages
3.在web.xml中(不推荐使用)
<init-param>
<param-name>struts.custom.i18n.resources</param-name>
<param-value>globalMessages</param-value>
</init-param>
- Stuts2的国际化应用
1.创建资源文件
globalMessages_en_US.properties
userName=Name
userPassword=Password
loginPage=Login
loginButton=Login
loginSuccess=Login Success
successMsg=Hello,{0},Today is{1}
failMsg={0},Login Failed\!
dynamic.userName=dynamic\:Name
dynamic.userPassword=dynamic\:Password
dynamic.loginButton=dynamic\:Login
dynamicLogin=Dynamic Login
Chinese=Chinese
English=English
globalMessages_zh_CN.properties
userName=\u59D3\u540D
userPassword=\u5BC6\u7801
loginPage=\u767B\u5F55
loginButton=\u767B\u5F55
loginSuccess=\u767B\u5F55\u6210\u529F
successMsg=\u4F60\u597D{0},\u4ECA\u5929\u662F{1}
failMsg={0},\u767B\u5F55\u5931\u8D25\uFF01
dynamic.userName=\u52A8\u6001\u8D44\u6E90\u6587\u4EF6\uFF1A\u59D3\u540D
dynamic.userPassword=\u52A8\u6001\u8D44\u6E90\u6587\u4EF6\uFF1A\u5BC6\u7801
dynamic.loginButton=\u52A8\u6001\uFF1A\u767B\u5F55
dynamicLogin=\u52A8\u6001\u8D44\u6E90\u6587\u4EF6 \u7528\u6237\u767B\u5F55
Chinese=\u4E2D\u6587
English=\u82F1\u6587
2.配置struts.xml
<constant name="struts.custom.i18n.resources" value="globalMessages"/>
3、jsp文件
login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title><s:text name="loginPage"/></title>
</head>
<body>
<center>
<jsp:include page="index.html"/>
<h4><s:text name="loginPage"/></h4>
<s:form action="loginAction">
<s:textfield name="userName" key="userName"/>
<s:password name="userPassword" key="userPassword"/>
<s:submit key="loginButton"/>
</s:form>
</center>
</body>
</html>
- 使用占位符
1.在配置文件中添加占位符信息
globalMessages_zh_CN.properties
successMsg=\u4F60\u597D{0},\u4ECA\u5929\u662F{1}
failMsg={0},\u767B\u5F55\u5931\u8D25\uFF01
dynamic.userName=\u52A8\u6001\u8D44\u6E90\u6587\u4EF6\uFF1A\u59D3\u540D
dynamic.userPassword=\u52A8\u6001\u8D44\u6E90\u6587\u4EF6\uFF1A\u5BC6\u7801
dynamic.loginButton=\u52A8\u6001\uFF1A\u767B\u5F55
dynamicLogin=\u52A8\u6001\u8D44\u6E90\u6587\u4EF6 \u7528\u6237\u767B\u5F55
Chinese=\u4E2D\u6587
English=\u82F1\u6587
globalMessages_en_US.properties
successMsg=Hello,{0},Today is{1}
failMsg={0},Login Failed\!
dynamic.userName=dynamic\:Name
dynamic.userPassword=dynamic\:Password
dynamic.loginButton=dynamic\:Login
dynamicLogin=Dynamic Login
Chinese=Chinese
English=English
2.创建Action
LoginAction.java
package action;
import java.util.Date;
import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings("serial")
public class LoginAction extends ActionSupport{
private String userName;
private String userPassword;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserPassword() {
return userPassword;
}
public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
}
public String execute(){
if(!(userName == null || "".equals(userName))){
Date date = new Date();
System.out.println(getText("successMsg",new String[]{userName,date.toString()}));
return SUCCESS;
}else{
return INPUT;
}
}
}
3.配置struts.xml
<action name="loginAction" class="action.LoginAction">
<result name="success">/loginSuccess.jsp</result>
<result name="input">/login.jsp</result>
</action>
4登录成功
loginSuccess.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title><s:text name="loginSuccess"/></title>
</head>
<body>
<center>
<jsp:include page="index.html"/>
<h4><s:text name="loginSuccess"/></h4>
<% Date date = new Date(); %>
<s:text name="successMsg">
<s:param><s:property value="userName"/> </s:param><br>
<s:param><%= date %> </s:param><br>
</s:text>
<br>
<s:text name="userName"/>:<s:property value="userName"/><br>
<s:text name="userPassword"/>:<s:property value="userPassword"/>
</center>
</body>
</html>