`
Javaloverlover
  • 浏览: 347795 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

struts2之国际化详解

阅读更多
struts2为国际化进行了进一步封装,从而简化了应用程序的国际化。
加载国际化资源的方式,最简单的是加载全局的国际化资源文件,配置struts.custom.i18n.resources常量即可。
<constant name="struts.custom.i18n.resources" value="mess"></constant>

这样就指定了加载baseName为mess的资源文件。然后创建mess_en_US.properties和mess_zh_CN.properties文件,放在根目录下。eclipse环境下可直接放在src下,这样eclipse会自动整合的。然后就可以用资源文件了,如:
<%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title><s:text name="loginPage"></s:text></title>
</head>
<body>
	<s:form action="login.action">
		<s:textfield name="username" key="user"></s:textfield>
		<s:password name="password" key="pass"></s:password>
		<s:submit key="login"></s:submit>
	</s:form>
</body>
</html>

通过key来输出国际化消息。
输出占位符的国际化消息,在国际化文件中保留占位符:succTip=welcome,{0}
可以通过struts2提供的getText()方法来填充,getText("succTip",new String[]{"hello"});这样succTip变成了welcome,hello
在jsp中,可以使用struts2标签来处理占位符:
<s:text name="succTip">
		<s:param>${sessionScope.user}</s:param>
	</s:text>

通过param标签来设置。

加载资源文件的方式有多种:
1、包范围的资源文件
在包的根路径下放置国际化资源文件,并且baseName就是package(就是package本身,而不是action的包名)。
2、action范围的资源文件
baseName为action类名,如LoginAction_zh_CN.properties放在LoginAction相同的包下。
3、临时指定资源文件
将资源文件放在src下,不在struts.xml中指定,在jsp页面中用<s:i18n>标签使用:
<s:i18n name="baseName">
<title><s:text name="loginPage"/></title>
</s:i18n>

资源文件有多种加载方式,那么就会有加载顺序。
1.先加载action类文件相同位置,且baseName为action的系统资源
2.若加载不到,且action有父类,则加载父类文件相同位置,且baseName为父类类名的系统资源
3.若找不到,且action实现了iaction类,则加载iaction接口相同位置,且baseName为iaction的系统资源
4.若找不到,查找当前包下baseName为package的资源文件
5.若还找不到 ,则沿着当前包上溯,知道顶层包
6.最后加载struts.xml文件中配置的资源文件。

对于i18n标签,首先加载标签中指定的资源,若找不到,则查找配置文件中的资源文件,最后,直接输出该key的字符串值。

   交流群:132607763 若满了,请加:251207741
分享到:
评论

相关推荐

    Struts2国际化详解

    在Struts2中实现国际化,可以提供多语言支持,使应用程序更加用户友好。 首先,国际化的核心是使用资源包(Resource Bundle),它是一个包含多种语言版本的文本文件,通常以.properties格式存储。例如,我们可以...

    struts2的struts.properties配置文件详解

    12. struts.i18n.encoding:这是国际化信息的内码,Struts2用于处理国际化信息。 13. struts.i18n.reload:这是一个布尔值,用于确定是否自动加载国际化信息。如果设置为true,Struts2将自动加载国际化信息。 14. ...

    struts1.2 国际化

    ### Struts 1.2 国际化详解 #### 一、引言 在软件开发过程中,为了满足不同地域和语言环境下的用户需求,软件国际化(Internationalization, 简称 I18N)和本地化(Localization, 简称 L10N)成为了一项重要的技术...

    Struts2的国际化支持及JDK对国际化的支持深入详解

    Struts2的国际化支持及JDK对国际化的支持深入详解,是一段视频,讲解细致

    struts2框架详解

    Struts2框架详解 Struts2是Java Web开发中的一款广泛应用的开源MVC框架,它构建在Apache Struts 1的基础上,提供了更为强大的功能和更好的灵活性。Struts2旨在简化Web应用开发,通过将表现层与业务逻辑层解耦,提高...

    Struts2开发详解

    Struts2支持多语言的国际化功能,通过资源包(properties文件)来管理不同语言的文本。开发者可以根据用户的浏览器设置或手动选择,提供相应的语言版本。 **5. 模板技术** Struts2支持FreeMarker和Velocity等模板...

    Struts2属性文件详解

    指定了Struts 2应用所需的国际化资源文件,如果有多个国际化资源文件,多个文件名间以英文逗号`,`分隔。 #### struts.diSPAtcher.parametersWorkaround 针对某些Java EE服务器不支持`HttpServletRequest`调用`...

    Struts2的常量详解

    Struts2 的常量详解 Struts2 框架中有许多重要的常量,它们负责控制着 Struts2 的行为和配置。下面我们将对 Struts2 中的一些常量进行详细的解释和分析。 1. struts.configuration struts.configuration 属性指定...

    struts2深入详解源码1-5章

    第五章可能进一步讲解Struts2的高级特性,如国际化、插件机制、Action的组合以及Struts2与其他框架(如Spring、Hibernate)的整合。国际化支持多语言环境,让应用更具有普适性;Action的组合允许将复杂的业务逻辑...

    struts2的国际化

    ### Struts2的国际化知识点详解 #### 一、引言 在现代软件开发尤其是Web应用领域,国际化(Internationalization)和本地化(Localization)是非常重要的技术。这些技术使得应用程序能够支持多种语言和地区设置,...

    Struts2的国际化

    ### Struts2的国际化详解 #### 一、Struts2国际化概述 Struts2框架支持多语言环境,即所谓的国际化(Internationalization,简称i18n)。与Struts1相似,Struts2同样通过资源文件来实现这一功能,但其机制更加灵活...

    struts2常量设置详解 struts2常量设置详解

    **描述**:指定Struts2进行国际化资源文件编码格式。 **值**:如`UTF-8`。确保在处理多语言资源时能够正确显示各种字符集的内容,避免乱码问题。 ##### 4. `struts.objectFactory` **描述**:指定Struts2使用的...

    Struts2实现国际化+天气webservice接口+股票webservice接口

    在Struts2中实现国际化,主要涉及到资源包(properties文件)的创建和配置。 首先,我们需要创建一个或多个资源文件,如`messages_en.properties`(英文版)和`messages_zh_CN.properties`(简体中文版)。这些文件...

    Struts2 深入详解课本代码

    9. **国际化与本地化**:Struts2支持多语言环境,可以通过资源包进行文本的国际化,方便不同地区的用户使用。 10. **插件体系**:Struts2有一个强大的插件架构,允许开发者扩展其功能,例如,Spring插件可以集成...

    Struts2国际化

    ### Struts2国际化详解 #### 一、引言 随着全球化的不断推进,软件系统越来越多地需要支持多种语言和地区设置,以满足不同国家和地区用户的使用习惯。因此,国际化(Internationalization,简称i18n)成为了现代...

    struts中文问题,struts国际化问题——终极解决方案

    ### Struts中文问题与国际化问题——终极解决方案深度解析 #### 引言 在Web应用开发中,特别是使用Struts框架时,中文显示和国际化(Internationalization,简称i18n)问题是开发者常遇的挑战。本文将深入探讨解决...

    Struts基础与案例开发详解

    Struts还支持国际化、数据验证和异常处理,为开发者提供了丰富的功能。 二、Struts核心组件 1. ActionServlet:作为Struts的入口点,它拦截所有的HTTP请求,根据配置文件转发到相应的Action。 2. ActionForm:封装...

    struts2标签用法详解

    Struts2标签库是基于JavaServer Pages (JSP) 标准标签库(JSTL)的扩展,它包含了一系列与Action、结果、表单、国际化等相关的标签。这些标签使得开发者可以将业务逻辑与展示逻辑分离,从而更专注于页面的呈现。 二...

Global site tag (gtag.js) - Google Analytics