`

struts国际化,资源文件读取一

阅读更多

国际化的发展

看本文之前可先看一下properties文件的读取:

http://quicker.iteye.com/blog/571743

一.一般处理方式:

在项目的src根目录建立资源文件:

ApplicationResources.properties

ApplicationResources_zh_CN.properties

ApplicationResources_en_US.properties

以上三个文件分别代表默认,中文,英文,如果是其它语言那么从默认文件取值.

测试代码:

package com.lwf.struts.util;

import java.util.Locale;
import java.util.ResourceBundle;

public class Testl18n {

	public static void main(String[] args) {
		Locale lo = Locale.getDefault();
		System.out.println(lo.getLanguage());
		System.out.println(lo.getCountry());
		
		ResourceBundle bundle = ResourceBundle.getBundle("ApplicationResources");
		String value = bundle.getString("error.login.usernull");
		System.out.println(value);
	}
}

 

 

代码说明:

Locale lo = Locale.getDefault();
System.out.println(lo.getLanguage());
System.out.println(lo.getCountry());
从系统控制面板的语言设置里取值,如中文输出:

zh

CN

英文则输出

en

US

ResourceBundle类将ApplicationResources设为默认资源文件,注意不用加.properties后缀.

当我们的系统设置为中文时,从ApplicationResources_zh_CN.properties 里面读取值 .

如果设为英文从ApplicationResources_en_US.properties 里面读取值.

其它则读取默认值.当然可以新建多种语言的资源文件.

注意的是:ApplicationResources_zh_CN.properties 里面的中文显示出来可能会是乱码或问号.

处理方法:使用java安装目录bin下面的native2ascii直接将txt文件转换为properties文件.

如:

这里使用命令:

native2ascii ApplicationResources_zh_CN.txt ApplicationResources_zh_CN.properties

 

转换前ApplicationResources_zh_CN.txt 内容:

error.login.usernull	= 用户名不能为空

 

转换后ApplicationResources_zh_CN.properties内容 :

error.login.usernull	= \u7528\u6237\u540d\u4e0d\u80fd\u4e3a\u7a7a

 

这样就不会出现乱码了.

 

 

二.上面我们是从操作系统读取设置好的语言值.那么在程序中不同的人可能要用到不同的语言.所以真正在程序里面实现应该将语言设置作为一个参数,可以让客户自己设定想以什么语言查看..

 我们可以构建Locale对象,如:

Locale local = new Locale("en","US");

 

这样我们可以依据传入的en,US两个参数值来寻找从哪个资源文件读取内容.

分享到:
评论

相关推荐

    STRUTS2国际化的问题

    - 可以通过`<result>`标签中的`type`属性设置国际化资源文件,以便在特定的结果类型下使用相应的语言资源。 #### 三、后端实现国际化 1. **使用`Locale`对象**:`Locale`对象用于表示用户所在的地区及语言环境。...

    struts1整合jfreechar,读取EXCEL数据

    Struts1是一个经典的Java Web框架,它为开发者提供了一种模型-视图-控制器(MVC)架构,便于构建可维护、结构清晰的Web应用程序。而JFreeChart是一个强大的Java库,用于创建各种类型的图表,如饼图、柱状图、线图等...

    Struts2_国际化

    在JSP页面中,使用Struts2的标签库中的标签来读取并显示国际化资源文件中的文本。 在编写国际化资源文件时,需要注意编码方式。由于国际化资源文件中可能包含中文或其他非ASCII字符,为了防止页面出现乱码,所有的...

    一个利用struts做的简单国际化

    2、提供不同版本的国际化资源文件,中文需要采用native2ascii转换成unicode 3、在jsp中采用标签来读取国际化消息文本 4、了解利用struts默认将locale放到session中的特性,完成采用编程的方式切换语言设置,设置...

    国际资源化struts

    3. **Action类**:在处理用户请求的Action类中,我们可以通过`ActionContext`获取当前的本地化环境,然后使用`ResourceBundle`来读取相应的资源文件。例如: ```java ActionContext context = ActionContext....

    struts1 文件上传 文件下载

    Struts1是一个经典的Java Web框架,它为开发者提供了一种结构化的方式来构建MVC(Model-View-Controller)应用程序。在Struts1中,文件上传和下载是常见的功能,尤其在处理用户交互和数据交换时非常有用。下面将详细...

    Struts国际化例子

    1. **创建资源包**:首先,你需要为每种语言创建一个.properties文件。例如,对于英文环境,可以创建一个名为`messages_en.properties`的文件,其中包含键值对,如`login.button=Login`。对于其他语言,如中文,可以...

    struts2实现文件下载功能

    - 在`execute()`方法中,实现文件路径的获取和文件读取逻辑。通常,文件存储在服务器的某个目录下,可以使用`java.io.File`类来处理。 2. **设置返回结果**: - 在Action类中,设置返回值(Result)为`stream`...

    Jinto实现struts国际化的插件

    通过Eclipse的插件系统,开发者可以直接在IDE内完成大部分国际化相关的任务,而无需频繁地在代码和资源文件之间切换。 总的来说,JInto是Struts开发者实现国际化的一个有力工具,它通过与Eclipse的紧密集成,简化了...

    struts 国际化应用

    国际化(Internationalization,通常简称为i18n)是Struts框架提供的一项重要功能,允许开发者创建能够适应不同语言和文化环境的应用程序。在Struts中实现国际化,主要是通过资源包(Resource Bundle)来处理多语言...

    struts2 配置文件

    - `<message-resources>`: 国际化资源文件配置。 - `<plug-in>`: 插件配置。 ##### 2. 关键配置项 - **`<form-bean>`**: - 定义表单Bean的属性和验证规则。 - **`<action-mapping>`**: - 映射Action的执行逻辑...

    Struts的文件下载

    在Struts中实现文件下载是一项常见的功能,尤其在处理用户请求获取服务器上的静态或动态资源时。这篇博文将深入探讨如何在Struts框架下实现文件下载的功能。 首先,我们需要了解文件下载的基本原理。当用户点击下载...

    struts中文资源文件转换工具

    资源文件通常包含应用程序的国际化(i18n)信息,如错误消息、提示和界面文本,这些内容往往需要根据不同的语言进行本地化。在Struts中,这些资源通常是以.properties为扩展名的文件,例如`messages_zh_...

    struts2_uploadify带进度条的多文件上传下载

    1. Struts2的Action类:负责接收前端上传请求,处理文件保存,并可能返回一个JSON响应,包含上传进度信息。 2. JSP或HTML页面:使用Uploadify插件的JavaScript代码,展示上传界面和进度条,用户可以通过此界面选择...

    struts2国际化

    Struts2会读取这个参数并加载相应的资源文件。 7. **国际化与视图结合**: - 在JSP页面中,可以直接将资源文件的值引入到页面元素中,例如: ```jsp ``` 8. **使用工具**: - 开发过程中,可以使用一些工具...

    struts1 实现文件上传下载

    Struts1是一个经典的Java Web框架,它为开发者提供了一种结构化的方式来构建MVC(Model-View-Controller)应用程序。在Struts1中实现文件上传和下载是常见的需求,这通常涉及到用户通过Web界面交互地上传文件到...

    struts国际化

    Struts是Java Web开发中的一款经典MVC框架,它的国际化(Internationalization,简称i18n)功能使得应用能够支持多种语言环境,为全球用户提供友好的界面。在本篇文章中,我们将深入探讨Struts如何实现国际化,并...

    Struts2文件流方式导出下载excel、Txt、image图片

    1. **配置Struts2 Action**:在Struts2中,我们需要定义一个Action类,该类负责处理用户的下载请求。在Action中,我们创建一个方法,该方法将返回一个`StreamingResult`结果类型。`StreamingResult`是Struts2专门...

    struts数据库国际化

    Struts框架本身提供了一套完整的国际化解决方案,包括资源文件、标签库等。但在某些情况下,需要对数据库中存储的数据进行国际化处理,尤其是在数据直接存储为字符串时。 #### 四、数据库字符国际化组件 根据提供...

Global site tag (gtag.js) - Google Analytics