标题Struts2国际化:中英文切换示例
当然我们第一步还是要把Struts2搭建完成!
要实现国际化,也就是我们所要实现的中英文切换 ,就要配置所需要的资源文件
messages_en_US.properties
messages_zh_CN.properties
然后接下来就是编写我们的jsp页面 login.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; utf-8">
<title></title>
</head>
<body>
<s:i18n name="messages">
<a href="changeLanguage.action?request_locale=zh_CN"><s:text name="chinese"></s:text></a>
<a href="changeLanguage.action?request_locale=en_US"><s:text name="english"></s:text></a>
<br/>
<form action="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>
有些可能不懂<s:i18n name=“messages”>i18什么意思,这个我们也可以百度实际就是internationalization,以i开头 n结尾 十八个字母,也就是国际化的意思
还有要注意的是这里我们用到了s标签<%@ taglib prefix=“s” uri="/struts-tags"%>
然后我们需要建一个action ChangeLanguageAction.java
package com.international.action;
public class ChangeLanguageAction {
public String execute(){
return "success";
}
}
写完action当然是要配置我们的struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
<struts>
<constant name="struts.custom.i18n.resources" value="globalMessage"/>
<package name="default" namespace = "/" extends="struts-default">
<action name="login" class = "com.international.action.LoginAction" method="execute">
<result name="success">/welcome.jsp</result>
</action>
<action name="changeLanguage" class="com.international.action.ChangeLanguageAction">
<result>/login.jsp</result>
</action>
</package>
</struts>
运行效果图: