Stuts2國際化

  • 配置資源文件

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>









































































發佈了85 篇原創文章 · 獲贊 11 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章