- 浏览: 991150 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (223)
- JDBC技术 (29)
- Java Base (21)
- SSH框架的集合 (5)
- Javascript部分 (16)
- Sping2.5框架 (6)
- Hibernate框架 (19)
- JDBC中的数据库连接 (5)
- Ajax技术应用 (9)
- Java工具包下载 (3)
- Database (4)
- Java Web (13)
- 我的生活 (4)
- Struts2 (25)
- S2SH (1)
- Prototype (1)
- jfreeChart (5)
- JPA (7)
- JBPM (1)
- JasperReport (6)
- DWR (1)
- freeMark (2)
- IBatis (2)
- FCKeditor (2)
- POI (1)
- JQuery (6)
- JSON (1)
- JavaMail (3)
- Flex (2)
- CSS收藏夹 (1)
- 润乾报表 (2)
- 开源技术 (1)
- Android (2)
- Android_UI (1)
- Android_OS (6)
- Android_OpenLibs (3)
- Volley (1)
- JS_OpenLibs (1)
- Hessian (3)
- OS (1)
最新评论
-
damoluomu:
简单易懂
Java Web开发Session超时设置 -
di1984HIT:
学习了~~~~~~
Java Web开发Session超时设置 -
lord_is_layuping:
...
Java Web开发Session超时设置 -
15111285554:
...
Java Web开发Session超时设置 -
sfg1314:
暂停后重新下载就会报错:ClientAbortExceptio ...
Java Web 文件下载之断点续传
Struts2国际化:
1,国际化分为三类:全局的,包级别的,类级别的。
全局的:
1,在struts.xml中的<constant name="struts.custom.i18n.resources" value="message"></constant>指定baseName
国际化文件名为:baseName_语言名_国家名.properties(如:message_zh_CN.properties)
2,全局的国际化资源文件放在src下面。
包级别的:
1,包级别的国际化资源文件放在该包下面。
2,命名规则为:package_语言名_国家名.properties(如:package_zh_CN.properties)
其中package不变,不是指的是包名,每个包的国际化文件命名都这样。
类级别的:
1,与该类放在同一目录中
2,命名规则为:类名_语言名_国家名.properties(如:RegisterAction_zh_CN.properties)
若同一key 在上面三个国际化文件中都为value值则:(优先级)类级别的>包级别的>全局的
2,在jsp中访问国际化资源文件
<!-- name为国际化文件中的key -->
<s:text name="hello">
<!-- 若该国际化文件的value中有{0}则可用下面的标签把参数传进去 -->
<s:param>mengya</s:param>
</s:text>
<!-- 指定特定的国际化文件,name为全局国际化文件的baseName -->
<s:i18n name="temp">
<!-- 下面的<s:text>标签与上面的用法一样 -->
<s:text name="hello">
<s:param>mengya</s:param>
</s:text>
</s:i18n>
表单国际化:
1,theme不能为simple如:<s:form action="register">(默认的theme不是simple)
2,使用key如:<s:textfield name="username" key="" id="usernameId"></s:textfield>
3,在Action中访问国际化资源文件,该Action继承了ActionSupport类
this.getText("username.invalid")
若该key对应的value需要参数则:
this.getText("username.invalid",new String[]{username})
或
List list = new ArrayList();
list.add(username);
this.getText("username.invalid",list)
如:
if (null == username || username.length() < 6 || username.length() > 10)
{
List list = new ArrayList();
list.add(username);
this.addActionError(this.getText("username.invalid",new String[]{username}));
}
该国际化资源文件中的key和value为:
username.invalid = \u7528\u6237\u540d "{0}" \u586b\u5199\u4e0d\u6b63\u786e
4,在输入校检访问国际化资源文件,使用<message key="..."></message>
<field-validator type="requiredstring">
<param name="trim">true</param>
<message key="username.invalid"></message>
</field-validator>
Java对国际化的支持:
/**
* 显示机子上的所有国家名,国家代码,语言名,语言代码
*
* @author 张明学
*
*/
public class Test1 {
public static void main(String[] args) {
Locale[] locale = Locale.getAvailableLocales();
for (Locale loc : locale) {
// 国家名:国家的代码
System.out
.println(loc.getDisplayCountry() + ":" + loc.getCountry());
}
System.out.println("------------");
for (Locale loc : locale) {
// 语言名:语言代码
System.out.println(loc.getDisplayLanguage() + ":"
+ loc.getLanguage());
}
}
}
import java.util.Locale;
import java.util.ResourceBundle;
/**
* 根据不同的Locale出查找不同的properties从面得到不同的值
*
* @author 张明学
*
*/
public class Test2 {
public static void main(String[] args) {
// 本机默认的Locale
Locale locale = Locale.getDefault();
// 英文的Locale
// locale=Locale.US;
ResourceBundle buudle = ResourceBundle.getBundle("baseName", locale);
String result = buudle.getString("hello");
System.out.println(result);
}
}
import java.text.MessageFormat;
import java.util.Locale;
import java.util.ResourceBundle;
/**
* 动态赋值properties文件中的一些值
*
* @author 张明学
*
*/
public class Test3 {
public static void main(String[] args) {
Locale locale = Locale.getDefault();
ResourceBundle buudle = ResourceBundle.getBundle("baseName", locale);
String value = buudle.getString("hello2");
String result = MessageFormat.format(value, new Object[] { "梦娅" });
System.out.println(result);
}
}
- Struts2_11.rar (9.1 KB)
- 描述: Java国际化支持实例
- 下载次数: 67
发表评论
-
Struts2 + JasperReport应用二:jasperReport Web形式打印
2010-02-02 16:16 5276将jasperReport设计文件和编译文件放到webRoot ... -
Struts2 + JasperReport应用一:导PDF,Excel,HTML显示
2010-01-29 16:34 9883我用的是struts2.1.6,从struts2的自带的dem ... -
Struts2 标签使用简介
2009-12-23 19:33 2667web.xml配置如下: <fil ... -
Struts2 的OGNL使用简介
2009-12-22 13:25 2360<div align="center" ... -
POI与Struts2的使用 poi-2.5.1.jar
2009-09-25 17:43 4893一.POI 简介 Jakarta POI 是apache的子项 ... -
jFreeChart与Struts2的组合,将jFreeChart作为显示视图
2009-09-25 16:26 1487jFreeChart与Struts2的组合: 一,加 ... -
Struts2与Spring2.0的组合
2009-09-09 09:46 1058Struts2与Spring的集成: 一,加入Str ... -
Struts2的异常处理
2009-09-07 13:41 1386Struts2的异常处理: 1,定义自己的异常信息类:继承Ex ... -
Struts2.0深入学习 Strust2与Servlet API,Action多方法调用,result标签的type的类型
2009-09-06 11:08 4446Struts2深入探索: 1,package中的ab ... -
Struts2.0深入学习 命名空间,模型驱动,表单重复提交
2009-09-06 11:04 1884Struts2深入探索: 1,package中的ab ... -
Struts2文件下载
2009-09-02 20:09 10618Struts2文件下载: Struts2文件下载对应将一个In ... -
设置Struts2文件上传的类型和大小
2009-09-02 20:09 5229设置Struts2文件上传的类型和大小: 在struts. ... -
Struts2多文件上传
2009-09-02 20:08 2465Struts2多文件上传: 在Action中配置三个属性: p ... -
Struts2文件上传详解
2009-08-31 17:27 2398Struts2文件上传: 一:请选参看Struts2_9中的S ... -
Struts2.0文件上传原理
2009-08-31 13:12 3069Struts2文件上传默认采用apache的文件上传的包,新建 ... -
Struts2的监听器的使用
2009-08-25 19:02 2538Struts2的监听器: 一,建立监听器: ... -
Struts2的拦截器的使用详解
2009-08-25 18:59 2382Struts2的拦截器: 一,拦截器的使用: ... -
Struts2拦截器原理分析
2009-08-25 18:55 2383第一步:创建目标对象的接口 /** * 目标对象的接口 ... -
Struts2的检证框架详解
2009-08-25 13:00 2457Struts2的检证框架: 一,根据字段校验(为每一 ... -
Struts2的Action多个方法配置和验证
2009-08-18 20:16 4799Struts2的Action多个方法配置和验证: 1 ...
相关推荐
### Struts2国际化详解 #### 一、引言 随着全球化的不断推进,软件系统越来越多地需要支持多种语言和地区设置,以满足不同国家和地区用户的使用习惯。因此,国际化(Internationalization,简称i18n)成为了现代...
### Struts 1.2 国际化详解 #### 一、引言 在软件开发过程中,为了满足不同地域和语言环境下的用户需求,软件国际化(Internationalization, 简称 I18N)和本地化(Localization, 简称 L10N)成为了一项重要的技术...
Struts2 的常量详解 Struts2 框架中有许多重要的常量,它们负责控制着 Struts2 的行为和配置。下面我们将对 Struts2 中的一些常量进行详细的解释和分析。 1. struts.configuration struts.configuration 属性指定...
**描述**:指定Struts2进行国际化资源文件编码格式。 **值**:如`UTF-8`。确保在处理多语言资源时能够正确显示各种字符集的内容,避免乱码问题。 ##### 4. `struts.objectFactory` **描述**:指定Struts2使用的...
指定了Struts 2应用所需的国际化资源文件,如果有多个国际化资源文件,多个文件名间以英文逗号`,`分隔。 #### struts.diSPAtcher.parametersWorkaround 针对某些Java EE服务器不支持`HttpServletRequest`调用`...
Struts2框架详解 Struts2是Java Web开发中的一款广泛应用的开源MVC框架,它构建在Apache Struts 1的基础上,提供了更为强大的功能和更好的灵活性。Struts2旨在简化Web应用开发,通过将表现层与业务逻辑层解耦,提高...
自己学会的,保存的学习网页,给大家分享 struts2 国际化
第五章可能进一步讲解Struts2的高级特性,如国际化、插件机制、Action的组合以及Struts2与其他框架(如Spring、Hibernate)的整合。国际化支持多语言环境,让应用更具有普适性;Action的组合允许将复杂的业务逻辑...
Struts2标签库是基于JavaServer Pages (JSP) 标准标签库(JSTL)的扩展,它包含了一系列与Action、结果、表单、国际化等相关的标签。这些标签使得开发者可以将业务逻辑与展示逻辑分离,从而更专注于页面的呈现。 二...
Struts2支持多语言的国际化功能,通过资源包(properties文件)来管理不同语言的文本。开发者可以根据用户的浏览器设置或手动选择,提供相应的语言版本。 **5. 模板技术** Struts2支持FreeMarker和Velocity等模板...
这个“Struts2标签库详解(非常不错)”的资源应该包含了对Struts2所有标签的详细介绍,以及相关的API文档。 Struts2标签库的核心在于提供了一种声明式编程的方式,使得开发者可以更专注于业务逻辑,而不是繁琐的JSP...
### Struts 2 properties文件详解 #### 概述 `struts.properties` 文件是Struts 2框架中的核心配置文件之一,它包含了Struts 2框架运行时所需的一系列配置属性。这些属性决定了Struts 2的行为特征以及与其他组件如...
9. **国际化与本地化**:Struts2支持多语言环境,可以通过资源包进行文本的国际化,方便不同地区的用户使用。 10. **插件体系**:Struts2有一个强大的插件架构,允许开发者扩展其功能,例如,Spring插件可以集成...
四、Struts2标签库的国际化与主题 Struts2支持多语言环境,可以通过配置资源文件实现国际化。同时,提供多种主题样式,如xhtml、simple、css_xhtml等,以改变标签的外观和布局。 五、Struts2标签库与其他框架的...
12. struts.i18n.encoding:这是国际化信息的内码,Struts2用于处理国际化信息。 13. struts.i18n.reload:这是一个布尔值,用于确定是否自动加载国际化信息。如果设置为true,Struts2将自动加载国际化信息。 14. ...
11. **国际化(I18N)**:Struts2支持多语言环境,通过资源包(Properties文件)管理不同语言的文本。 12. **测试支持**:Struts2提供了MockStruts2工具,方便开发者对Action进行单元测试。 通过深入学习这些知识...