一个关于本地化/国际化的例子
参考
点击打开链接(非常完善的例子)
点击打开链接(ActionSupport.getText()方法)
注意s:radio的修改
package test;import com.opensymphony.xwork2.ActionSupport;public class Employee extends ActionSupport {
private String name;
private int age;
private String sex;
private String hobby;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getHobby() {
return hobby;
}
public void setHobby(String hobby) {
this.hobby = hobby;
}
public String execute() {
return SUCCESS;
}}

2

package test;

import com.opensymphony.xwork2.ActionSupport;

public class Locale extends ActionSupport {

public String execute() {

return SUCCESS;

}

}

3

1)本地化页面

global.name=\u59D3\u540D

global.age =\u5E74\u9F84

global.sex =\u6027\u522B

global.hobby =\u7231\u597D

global.submit =\u6CE8\u518C

global.heading =\u6CE8\u518C

global.success =\u6CE8\u518C\u6210\u529F

global.sex.male =\u7537

global.sex.femal =\u5973

2)中文

global.name=\u59D3\u540D

global.age =\u5E74\u9F84

global.sex =\u6027\u522B

global.hobby =\u7231\u597D

global.submit =\u6CE8\u518C

global.heading =\u6CE8\u518C

global.success =\u6CE8\u518C\u6210\u529F

global.sex.male =\u7537

global.sex.femal =\u5973

3)英语

global.name=Name

global.age =Age

global.sex =Sex

global.hobby =Hobby

global.submit =Register

global.heading =Register

global.success =Successfully!

global.sex.male =Male

global.sex.femal =Female

4 strut2

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">

<struts>

<constant name="struts.devMode" value="true"/>

<constant name="struts.custom.i18n.resources" value="global"/>

<package name="test" extends="struts-default" namespace="/">

<action name="empinfo" class="test.Employee" method="execute">

<result name="input">/index.jsp</result>

<result name="success">/success.jsp</result>

</action>

<action name="locale" class="test.Locale" method="execute">

<result name="success">/index.jsp</result>

</action>

</package>

</struts>

5 index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"

deferredSyntaxAllowedAsLiteral="true" %>

<%@ 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>My JSP 'index.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

<!--

<linkrel="stylesheet" type="text/css"href="styles.css">

-->

</head>

<body>

<center>

<h1><s:text name="global.heading"/></h1>

<s:url id="indexEN" namespace="/" action="locale">

<s:param name="request_locale">EN</s:param>

</s:url>

<s:url id="indexCN" namespace="/" action="locale">

<s:param name="request_locale">CN</s:param>

</s:url>

<s:a href="%{indexEN}">English</s:a>

<s:a href="%{indexCN}">中文</s:a>

<s:form action="empinfo" method="post" namespace="/">

<s:textfield name="name" key="global.name" size="20"/>

<s:textfield name="age" key="global.age" size="20"/>

<s:radio name="sex" key="global.sex" list="#{0:getText('global.sex.male'),1:getText('global.sex.femal')}"></s:radio>

<s:textfield name="hobby" key="global.hobby" size="20"/>

<s:submit name="submit" key="global.submit" align="center"/>

</s:form>

</center>

</body>

</html>

6 success.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>My JSP 'success.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description"content="This is my page">

<!--

<linkrel="stylesheet" type="text/css"href="styles.css">

-->

</head>

<body>

<s:property value="getText('global.success')"/>

</body>

</html>

 

Strust2 本地化/国际化相关推荐

  1. iOS - 实现语言本地化/国际化

    实现iOS语言本地化/国际化(图文详解) 前言 语言本地化,又叫做语言国际化.是指根据用户操作系统的语言设置,自动将应用程序的语言设置为和用户操作系统语言一致的语言.往往一些应用程序需要提供给多个国家 ...

  2. 3分钟实现iOS语言本地化/国际化(图文详解)

    为什么80%的码农都做不了架构师?>>>    原文 前言 语言本地化,又叫做语言国际化.是指根据用户操作系统的语言设置,自动将应用程序的语言设置为和用户操作系统语言一致的语言.往往 ...

  3. iOS语言本地化/国际化宝典

    语言本地化,又叫做语言国际化.是指根据用户操作系统的语言设置,自动将应用程序的语言设置为和用户操作系统语言一致的语言.往往一些应用程序需要提供给多个国家的人群使用,或者一个国家有多种语言,这就要求应用 ...

  4. 应用名称本地化/国际化

    应用名称本地化,是指同一个App的名称,在不同的语言环境下(也就是手机设备的语言设置)显示不同的名称. 比如,微信在简体中文环境下App名称显示为"微信",在英语环境下显示为&qu ...

  5. struts国际化java_java框架篇---Struts2 本地化/国际化(i18n)

    国际化(i18n)是规划和实施的产品和服务,使他们能很容易地适应特定的本地语言和文化的过程中,这个过程被称为本地化.国际化的过程有时也被称为翻译或本地化启用.国际化是缩写i18n,因为我和两端用n字打 ...

  6. 软件本地化(国际化)步骤

    增加本地化代码实例 #define LOCALE_DIR "/usr/share/locale" #define LOCALE_DIR ""//如果设置当前目录 ...

  7. app的本地化 国际化

    IOS篇 1. app name 多语言设置 注意:xcode 8 以后没有support Files 文件夹了,不用care, 只要配置文件名称填对就行   InfoPlist.strings , ...

  8. Qt Quick的国际化和本地化

    Qt Quick的国际化和本地化 Qt Quick的国际化和本地化 国际化您的应用程序 1.对所有文字用户界面字符串使用qsTr() 2.为翻译器添加上下文 3.歧义相同的文本 4.用于%x将参数插入 ...

  9. 3.5 国际化与本地化

    国际化和本地化 国际化,简写为i18n(译者注:"国际化"这个词有20个字母,去尾去首中间有18个),是一种无需改动就能适应各种语言的设计代码.本地化是指将显示的文本转化为用户语言 ...

最新文章

  1. EasyUi 改变 selelct 的 下拉内容 div 的高度
  2. php new redis错误,解决PHP Redis扩展无法加载的问题(zend_new_interned_string in Unknown on line 0)...
  3. springer link:find the journals you need
  4. 绝!关于pip的15个使用小技巧
  5. uni-app打包h5
  6. 【今日CV 计算机视觉论文速览】Thu, 7 Mar 2019
  7. CodeForces 592C The Big Race
  8. ThinkPHP---案例1登录登出和添加部门
  9. python语言程序设计期末试卷_Python语言程序设计17182试题题目及答案,课程2020最新期末考试题库,章节测验答案...
  10. 视频转换器怎么将视频转成GIF动画
  11. μC/OS-II兼容层——让基于μC/OS-II开发的应用层无感地迁移到RT-Thread操作系统
  12. 一枚前端UI组件库 KUI for React
  13. Error staring Tomcat Cannot connect to VM错误解决办法
  14. UVALive 3959 Rectangular Polygons (排序贪心)
  15. 根号分治 + 入门题目
  16. Shell while 语法(: 死循环)
  17. win10系统安装到服务器失败怎么解决,重装系统win10失败怎么办 重装系统失败的常见原因和解决方法...
  18. 前端之TypeScript(TS)
  19. 如何零基础开始学编程
  20. python判断正确的是_Python输入数据类型判断正确与否的函数大全(非常全)

热门文章

  1. 任老爷子退休以后,华为谁最有可能接手,为什么?
  2. OpenCV之图像的混合
  3. Seata详解(二)
  4. Html 点透镂空遮罩,swift 实现遮罩部分区域“挖洞”效果和点击事件穿透
  5. ssis sql_使用sp_help_revlogin和SSIS传输登录任务将SQL登录名传输到AG的辅助副本
  6. sql server 部署_将程序包部署到SQL Server集成服务目录(SSISDB)
  7. 在SQL Server中使用architectureid
  8. BZOJ 1822 Frozen Nova 霜冻新星
  9. ZOJ 3810 A Volcanic Island (2014年牡丹江赛区网络赛B题)
  10. c++ 文件读写(转)