struts2的国际化(即实现中英文切换)实例

今天学习了国际化实例,也就是实现中文和英文的切换。
注:本博客有部分代码参考阿木侠的博客内容。

1、首先实现国际化对我们的项目要求是搭建好Struts2框架

这个在这里不多说,我写的有一篇文章有详细介绍,链接如下:
https://blog.csdn.net/weixin_42322648/article/details/83547417

2、我们要编写jsp页面在这个jsp页面上测试结果

下面附上创建的login.jsp的代码:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    <title></title>
  </head>
  <body>
  <s:i18n name="globalMessages">
  	<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>  
	<br/>
	<h3><s:text name="title"></s:text></h3>
	<s:form action="login" method="post">
			<table>
				<tr>
					<td><s:text name="username" /></td>	
					<td><s:textfield name="name" /></td>
				</tr>
				<tr>
					<td><s:text name="password" /></td>					
					<td><s:password name="password" /></td>					
				</tr>
				<tr>
					<td> </td>
					<td><s:submit value="%{getText('login')}" /></td>
				</tr>
			</table>
		</s:form>
	</s:i18n>
  </body>
</html>

这里有一个i18n,他就是Internationalization(国际化)的英文缩写,为什么是i18n呢?
因为Internationalization去掉头尾的i和n刚好还剩下18个字符。

3、然后我们编写一个Action

这里我创建的action名字为LoginAction,这里代码如下,我没有加别的验证信息,为了让他直接能实现中英文切换。代码如下:

package com.hnpi.action;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport{
	public String execute(){
		return "success";
	}
}

4、下面我们就需要创建资源文件了

资源文件的内容基本是key-value对,其中key是程序使用的部分,而value是程序的显示部分。
这里我创建的资源文件名称为:globalMessages_zh_CN.properties(中文):
在这里插入图片描述
globalMessages_en_US.properties(英文):
在这里插入图片描述
这里注意文件的格式为.properties。不要建错了。

5、最后我们就要对Struts.xml进行配置了

这个是实现中英文切换的一个核心,这里面错了就会导致切换不了。代码如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">
 
<struts>
	<constant name="struts.costom.i18n.resources" value="globalMessages"/>
	<package name="default" extends="struts-default" namespace="/">	
		<action name="login" class="com.hnpi.action.LoginAction">
			<result name="success">/login.jsp</result>			
		</action>
	</package>
</struts>

然后我们就可以部署Tomcat进行运行了:
在这里插入图片描述
在这里插入图片描述
以上就是我的国际化例子的详细介绍。有错误的地方还请各位多多指正。

发布了31 篇原创文章 · 获赞 13 · 访问量 7949

猜你喜欢

转载自blog.csdn.net/weixin_42322648/article/details/83659483