- 浏览: 1593152 次
- 来自: 上海
文章分类
- 全部博客 (374)
- Java (101)
- Struts (54)
- Oracle (30)
- JavaScript (16)
- Spring (27)
- Hibernate (16)
- MyEclipse (3)
- JSF (1)
- FreeMarker (2)
- SiteMesh (2)
- JfreeChart (2)
- Ibatis (2)
- JSP (12)
- MyBatis (4)
- SWFupload (1)
- EJB (4)
- Jboss (4)
- WebService (2)
- Linux (16)
- Android (2)
- XML (6)
- Java 网络编程 (13)
- AXIS2 (1)
- FTP (1)
- Jswing (1)
- Socket (3)
- 杂文选集 (6)
- solr (2)
- PS (1)
- Tomcat (7)
- JDBC (9)
- Highcharts (1)
- maven (1)
- Nodejs (0)
- navicat (2)
- Exception (5)
- eclipse (3)
- jQuery (1)
- springMVC (4)
- MySQL (11)
- SVN (1)
- Sql Server (1)
- zookeeper (1)
- JVM (1)
- Groovy (2)
- Git (1)
- Nginx (1)
- DynamicReport (1)
- IDEA (2)
- JasperReports (1)
- Postgresql (2)
- Mac (1)
- gradle (1)
- 数据结构算法 (1)
最新评论
-
hpu145:
引用引用
java 千分位的添加和去除 -
被遗忘的下路:
少了个junit-4.8.2的包
SSH2整合完整案例(四十三) -
白天看黑夜:
java过滤emoji字符处理,希望能帮到你http://ww ...
emoji 表情图片解决方法 -
caipeiming:
这个挺好JavaScript实现input输入框控件只允许输入 ...
js 控制文本框只能输入中文、英文、数字等 -
双子树:
东西太好啦受教啊
Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)
国际化资源文件的搜索顺序 :action-->package--->parent package--->全局
先说,采用临时文件和 i18n 标签来访问多个范围内的资源文件
要在jsp页面同时应用多个范围的资源文件,就采用 i18n 标签来指定,而且还不需要在struts.xml中配置
1.properties属性配置文件 将下面 三种不同范围的资源文件,放在对应的目录下面
2.jsp页面
再说全局资源文件 和 package 范围 和 action 范围的文件 有占位符的访问(需要配置)
1.Struts2框架将国际化信息定义在资源文件中,同时还需要在配置文件中对资源文明进行配置,告诉Struts2框架所有需要加载的资源文件。
baseName_language_country.properties
2.使用struts.xml文件
3.使用struts.properties文件
如果在struts.properties文件中实现,则使用key-value的代码格式,配置代码如下:
struts.custom.i18n.resources=globalMessages
4.使用web.xml文件
如果在web.xml文件中实现,则使用<param-name> 和<param-value>元素,配置代码如下:
5.配置Struts2国际化资源信息需要两个值
struts.custom.i18n.resources 和 globalMessages;
struts.custom.i18n.resources 在struts2框架中 表示国际化的常量,是一个固定不变的值,
globalMessage
表示全局国际化资源文件的basename值,所以对应的全局国际化资源文件,所以对应的全局国际化资源文件,可以是 globalMessage_zh_CN.properties,
globaleMessage_en_US.properties.等这些文件的命名格式符合
baseName_language_country的格式。
6.native2ascii 命令的使用
7.Struts2的国际化支持占位符,从而可以更加灵活的输出国际化信息,占位符鼻息使用参数来填充。
A:在jsp中填充国际化资源信息是的占位符
通过<s:text>标签中嵌套多个<s:param>标签来填充占位符。
B:在Action中填充国际化资源信息时的占位符
这种情况在action中可以调用getTest()方法来填充占位符。
8.globalMessages_zh_CN.properties
9.globalMessages_en_US.properties
11.在action 中给占位符赋值 使用 getTest()
12.struts.xml
13.login.jsp 有占位符的访问
14.没有占位符的访问
package范围的资源文件 (在struts.xml中配置)
放在对应的包下面 命名:package_language_country.properties(固定格式)
com.ah.action/LoginAction.java
properties
struts.xml
jsp
Action范围的资源文件(在struts.xml中配置)
命名格式为:ActionName_language_country.properties 放action同一级目录下面
struts.xml
action , jsp 和上面的一样
先说,采用临时文件和 i18n 标签来访问多个范围内的资源文件
要在jsp页面同时应用多个范围的资源文件,就采用 i18n 标签来指定,而且还不需要在struts.xml中配置
1.properties属性配置文件 将下面 三种不同范围的资源文件,放在对应的目录下面
2.jsp页面
<body> ====访问全局资源文件 <!--全局资源文件的 baseName--> <s:i18n name="globalMessages"> <h3> <s:text name="loginTitle"/> </h3> <s:form action="checkLogin" method="post"> <s:textfield name="loginName" key="loginName" /> <s:textfield name="loginPassword" key="loginPassword"/> <s:submit key="loginBtn"/> <s:token/> </s:form> <s:text name="loginName"></s:text> </s:i18n> ====访问package范围的资源文件 <!--包资源文件的 完整路径-> <s:i18n name="com.sh.action.package"> <h3> <s:text name="loginTitle"/> </h3> <s:form action="checkLogin" method="post"> <s:textfield name="loginName" key="loginName" /> <s:textfield name="loginPassword" key="loginPassword"/> <s:submit key="loginBtn"/> <s:token/> </s:form> </s:i18n> ====访问Action范围的资源文件 <!--Action范围资源文件的 完整路径-> <s:i18n name="com.sh.action.LoginAction"> <h3> <s:text name="loginTitle"/> </h3> <s:form action="checkLogin" method="post"> <s:textfield name="loginName" key="loginName" /> <s:textfield name="loginPassword" key="loginPassword"/> <s:submit key="loginBtn"/> <s:token/> </s:form> </s:i18n> </body>
再说全局资源文件 和 package 范围 和 action 范围的文件 有占位符的访问(需要配置)
1.Struts2框架将国际化信息定义在资源文件中,同时还需要在配置文件中对资源文明进行配置,告诉Struts2框架所有需要加载的资源文件。
baseName_language_country.properties
2.使用struts.xml文件
<!--在struts.xml文件中配置国际化资源文件,一般是通过设置常量来实现。--> <constant name="struts.custom.i18n.resources" value="globaleMessages"/>
3.使用struts.properties文件
如果在struts.properties文件中实现,则使用key-value的代码格式,配置代码如下:
struts.custom.i18n.resources=globalMessages
4.使用web.xml文件
如果在web.xml文件中实现,则使用<param-name> 和<param-value>元素,配置代码如下:
<init-param> <param-name>struts.custom.i18n.resources</param-name> <param-value>globaleMessage</param-value> </init-param>
5.配置Struts2国际化资源信息需要两个值
struts.custom.i18n.resources 和 globalMessages;
struts.custom.i18n.resources 在struts2框架中 表示国际化的常量,是一个固定不变的值,
globalMessage
表示全局国际化资源文件的basename值,所以对应的全局国际化资源文件,所以对应的全局国际化资源文件,可以是 globalMessage_zh_CN.properties,
globaleMessage_en_US.properties.等这些文件的命名格式符合
baseName_language_country的格式。
6.native2ascii 命令的使用
//在 jdk bin 目录下 建一个记事本 temp.xml userName=姓名 userPassword=密码 win+r cmd cd D:\ProgramFiles\Java\jdk1.6.0_17\bin native2ascii temp.text globalMessages_zh_CN.properties
7.Struts2的国际化支持占位符,从而可以更加灵活的输出国际化信息,占位符鼻息使用参数来填充。
A:在jsp中填充国际化资源信息是的占位符
通过<s:text>标签中嵌套多个<s:param>标签来填充占位符。
B:在Action中填充国际化资源信息时的占位符
这种情况在action中可以调用getTest()方法来填充占位符。
8.globalMessages_zh_CN.properties
loginBtn=登录 loginName=用户名 loginPassword=密码 loginTitle=用户登录 loginSuccess=欢迎 {0} 登录成功!
9.globalMessages_en_US.properties
loginBtn=Login loginTitle=UserLogin loginName=LoginName loginPassword=LoginPassword loginSuccess=welcome {0} login Success!
11.在action 中给占位符赋值 使用 getTest()
public String checkLogin(){ this.message=this.getText("loginSuccess",new String[]{this.loginName}); return SUCCESS; }
12.struts.xml
<struts> <!-- 定义国际化资源文件的基本名称 --> <constant name="struts.custom.i18n.resources" value="globalMessages"/> <constant name="struts.i18n.encoding" value="utf-8"/> <package name="/user" extends="struts-default"> <action name="checkLogin" class="com.sh.action.LoginAction" method="checkLogin"> <result name="success">/index.jsp</result> </action> </package> </struts>
13.login.jsp 有占位符的访问
<body> <center> <h3>第一种方式,在jsp页面里面填充带占位符的国际化信息<h3> <s:text name="loginSuccess"> <s:param> <s:property value="loginName"/> </s:param> </s:text> <h3>第二种方式,在Action中填充带占位符的国际化信息</h3> <s:property value="message"/> </center> </body>
14.没有占位符的访问
<body> <center> <h3> <s:text name="loginTitle"/> </h3> <s:form action="checkLogin" method="post"> <s:textfield name="loginName" key="loginName"/> <s:textfield name="loginPassword" key="loginPassword"/> <s:submit key="loginBtn"/> <s:token/> </s:form> </center> </body>
package范围的资源文件 (在struts.xml中配置)
放在对应的包下面 命名:package_language_country.properties(固定格式)
com.ah.action/LoginAction.java
package com.sh.action; import com.opensymphony.xwork2.ActionSupport; public class LoginAction extends ActionSupport{ private String loginName; private String loginPassword; private String message; public String checkLogin(){ this.message=this.getText("loginSuccess",new String[]{this.loginName}); return SUCCESS; } }
properties
//中文 com.sh.action/package_zh_CN.properties loginBtn=package:登录 loginName=package:用户名 loginPassword=package:密码 loginTitle=package:用户登录 loginSuccess=package:欢迎 {0} 登录成功! // 英文 com.sh.action/package_en_US.properties loginBtn=package:Login loginTitle=package:UserLogin loginName=package:LoginName loginPassword=package:LoginPassword loginSuccess=package:welcome {0} login Success!
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> <!-- 定义包范围的 国际化资源文件的基本名称 package --> <constant name="struts.custom.i18n.resources" value="com.sh.action.package"/> <constant name="struts.i18n.encoding" value="utf-8"/> <package name="/user" extends="struts-default"> <action name="checkLogin" class="com.sh.action.LoginAction" method="checkLogin"> <result name="success">/index.jsp</result> </action> </package> </struts>
jsp
<body> <center> <h3> <s:text name="loginTitle"/> </h3> <s:form action="checkLogin" method="post"> <s:textfield name="loginName" key="loginName" /> <s:textfield name="loginPassword" key="loginPassword"/> <s:submit key="loginBtn"/> <s:token/> </s:form> <s:text name="loginName"></s:text> </center> </body>
Action范围的资源文件(在struts.xml中配置)
命名格式为:ActionName_language_country.properties 放action同一级目录下面
//英文 LoginAction_en_US.properties loginBtn=Action:Login loginTitle=Action:UserLogin loginName=Action:LoginName loginPassword=Action:LoginPassword loginSuccess=Action:welcome {0} login Success! //中文 LoginAction_zh_CN.properties loginBtn=Action:登录 loginName=Action:用户名 loginPassword=Action:密码 loginTitle=Action:用户登录 loginSuccess=Action:欢迎 {0} 登录成功!
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> <!-- 定义 Action 范围的国际化资源文件的基本名称 --> <constant name="struts.custom.i18n.resources" value="com.sh.action.LoginAction"/> <constant name="struts.i18n.encoding" value="utf-8"/> <package name="/user" extends="struts-default"> <action name="checkLogin" class="com.sh.action.LoginAction" method="checkLogin"> <result name="success">/index.jsp</result> </action> </package> </struts>
action , jsp 和上面的一样
- Struts2_global.zip (3.3 MB)
- 下载次数: 45
发表评论
-
解决getOutputStream() has already been called for this response
2014-07-30 19:16 3323java.lang.IllegalStateException ... -
Struts2 + ajaxFileUpload 异步上传文件
2013-12-04 19:33 1895ajaxFileUpload下载地址http://www.ph ... -
Struts2 Action 解析提交的XML
2013-10-16 12:30 1643package com.bjdata.bjsearch.p ... -
MyBatis+Spring+Struts2
2012-11-28 00:32 10629MyBatis3.1.1+Spring3.1.2+Struts ... -
Ibatis 整合spring + Struts2 加入OSCACHE
2012-11-14 00:10 4564说明: 使用 spring2.5 +ibatis2.3 ... -
Struts2中使用JfreeChart
2012-11-06 09:02 16481.jar commons-fileupload-1.2.2. ... -
Struts2整合SiteMesh
2012-11-05 10:33 76651.导入Struts2的jar 和 sitemesh.jar ... -
Struts2 编写安全策略(四十五)
2012-09-23 23:53 2301编写安全策略 包含(1 ... -
SSH2整合完整案例(四十三)
2012-09-14 09:34 20694注解配置:Struts2+Spring2.5+Hibernat ... -
Struts2 阻止表单重复 和 等待页面(四十四)
2012-09-23 21:13 2148表单重复提交现象 导 ... -
Struts2 文件上传,下载,删除(四十一)
2012-09-10 23:37 12343本文介绍了: 1.基于表单的文件上传 2.Struts 2 的 ... -
Struts2 文件上传,下载的类型(四十二)
2012-09-06 23:18 2008声明: 以下复制他人的!!! Struts2 文件上传 之 ... -
Struts2 常用标签使用(三十九)
2012-09-03 09:28 64331.append标签 使用append标签可以把多个集合对 ... -
Struts2 timer拦截器(三十二)
2012-08-31 02:17 20781.Strus2系统拦截器中,timer拦截器可以实现输出Ac ... -
Struts2 常用标签使用(三十九)
2012-09-03 00:50 51.append标签 使用append标签可以把多个集合对 ... -
Struts2 主题和模版设置(四十)
2012-09-03 20:24 4148----------------Struts2 主题----- ... -
Struts2 如何使用OGNL表达式(三十八)
2012-08-30 20:55 50891.OGNL是Object Graph Navitagtion ... -
Struts2 使用Validation框架验证数据(三十七)
2012-08-30 11:25 18471A:在Struts2的框架汇中,开发者可以通过继承Action ... -
Struts2 使用Validation框架验证数据(三十七)
2012-08-29 14:08 9A:在Struts2的框架汇中,开发者可以通过继承Action ... -
Struts2 iterator 标签遍历 Map,List,数组(三十六)
2012-08-26 18:30 205371.使用iterator 标签 遍历 数组,Map,List ...
相关推荐
在Struts2中实现国际化,可以帮助开发者创建对多语言环境友好的应用。 本示例主要围绕Struts2框架如何实现国际化进行深入探讨。源码中包含两个关键部分:WebRoot目录和src目录。 1. **WebRoot** 目录: - `WEB-...
Struts2国际化的实现原理;简单的struts2国际化实现过程的讲解
Struts2是一个流行的Java web框架,它提供了强大的国际化支持,帮助开发者创建多语言的应用程序。在Struts2中实现国际化,主要包括配置、JSP页面、表单和Action类的处理。 首先,在`struts.xml`配置文件中,我们...
在“Struts2国际化Demo”中,我们主要探讨的是如何利用Struts2框架实现应用的多语言支持,即国际化(i18n)功能。国际化是一种设计方法,使得软件能够根据不同地区的语言和文化习惯进行调整,使得全球用户都能无障碍...
### STRUTS2国际化的问题 #### 一、Struts2国际化的概述 Struts2作为一个流行的Web应用框架,为了满足全球用户的使用需求,提供了一系列国际化(Internationalization, 简称I18N)的支持。这包括了如何在配置文件...
在Struts2中实现国际化(i18n)是一项重要功能,它允许应用程序支持多种语言,以满足全球用户的需求。国际化不仅仅是翻译文本,而是设计应用程序以适应不同地区的文化习惯和语言需求。 首先,让我们来探讨一下...
struts2国际化MyEclipse开发struts2国际化MyEclipse开发童叟无欺
### Struts 1.2 国际化详解 #### 一、引言 在软件开发过程中,为了满足不同地域和语言环境下的用户需求,软件国际化(Internationalization, 简称 I18N)和本地化(Localization, 简称 L10N)成为了一项重要的技术...
在“struts2国际化测试”这个主题中,我们将探讨如何在Struts2框架下实现应用程序的国际化功能。 首先,国际化(i18n,i代表第9个字母n,18是n到i的字母数,表示国际化)是使软件能够适应不同语言和文化背景的重要...
Struts1 和 Struts 2 是两种非常流行的Java Web开发框架,它们都提供了对国际化(i18n)的支持,使得应用能够根据用户的语言和地区显示相应的本地化内容。国际化是软件设计的一个重要方面,它允许应用程序在全球范围...
在国际化处理方面,Struts2提供了全面的支持,使得开发者能够轻松地为多语言环境的应用程序创建接口。 首先,我们需要了解什么是国际化(Internationalization)和本地化(Localization)。国际化是指设计和开发...
总的来说,这个项目提供了一个基础的Struts2应用实例,展示了如何实现国际化、使用Struts2标签库,以及创建简单的用户注册和登录功能,尽管它并不涉及实际的数据存储。对于学习和理解Struts2框架的运作机制,这是一...
这篇指南将深入探讨Struts2如何实现国际化支持,并提供一个初步的引导。 首先,理解国际化的基本概念是至关重要的。国际化不仅仅是翻译文本,它还涉及到日期、时间、货币等格式的本地化。在Java中,这一过程通常...
Struts2 框架提供了强大的标签库和国际化功能,本实验旨在掌握 Struts 2 标签库和国际化功能的使用,并实现用户注册页面的国际化显示。 一、Struts2 标签库 Struts2 框架提供了一个强大的标签库,用于简化 JSP ...
"Struts2国际化demo"是一个示例,展示了如何在Struts2框架下实现这一功能,使得网站可以根据用户的浏览器设置显示不同的语言。 首先,要实现国际化,我们需要创建资源文件。在Java中,这些通常是`.properties`文件...
总结,实现Struts2的国际化涉及资源文件的创建、配置Struts2的`struts.xml`、设置locale以及在JSP页面中使用国际化标签库。理解和掌握这些步骤对于开发全球化应用程序至关重要。通过阅读源码和利用相关工具,开发者...
在Struts2中实现国际化,可以帮助你的应用触达全球用户。 Struts2的国际化主要依赖于Java的ResourceBundle类,该类用于管理应用程序中的多语言资源。以下是如何在Struts2中进行国际化设置的详细步骤: 1. **创建...
在Struts2中实现国际化(I18n,Internationalization)是常见的需求,目的是使应用程序能够根据用户的语言和地区提供相应的本地化内容。本示例将详细介绍如何在Struts2框架下实现国际化,并通过myEclipse开发环境...
国际化(i18n)是Struts2的一个重要特性,使得应用能够支持多种语言环境,以满足全球用户的语言需求。以下是对Struts2框架国际化实现的详细讲解。 1. **国际化的基本概念** 国际化(Internationalization,简称i18...