1:首先按照之前的方法建立好项目,接着在src下面建两个File:message_en_US.properties(英文版)和message_zh_CN.properties(中文版)
2:接下来会在我们的视图层index.jsp中用到 s 标签,需要注意,代码基本如下所示:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>中英文切换</title>
</head>
<body>
<s:i18n name="message">
<s:text name="check"></s:text>:
<a href="login.action?request_locale=zh_CN"><s:text name="chinese"></s:text></a>
<a href="login.action?request_locale=en_US"><s:text name="english"></s:text></a>
<form action="<%=basePath%>login" method="post">
<table>
<tr>
<td><s:text name="login.username"/></td>
<td><input type="text" name="user.userName"/></td>
</tr>
<tr>
<td><s:text name="login.password"/></td>
<td><input type="text" name="user.password"/></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="<s:text name="login.btn"/>"/></td>
</tr>
</table>
</form>
</s:i18n>
</body>
</html>
看完上面这个代码有的人可能不理解href="login.action?request_locale=zh_CN"这个代码,注意里面的login.action这个action的名字要跟我们下面将要配置的struts.xml文件里面名字必须一样
然后开始写我们的action,只需要写一个execute方法来接收就行 ,代码如下图所示:
package com.hnpi.action;
public class LanguageAction {
public String execute(){
return "success";
}
}
3:在接下来就是配置我们的struts.xml文件了,代码如下图所示:
<?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>
<package name="default" namespace="/" extends="struts-default">
<action name="login" class="com.hnpi.action.LanguageAction">
<result name="success">/index.jsp</result>
</action>
</package>
</struts>
4:最后成功的效果图大概就是这个样子了:
好了大功告成了!!!