sturts国际化的一个简单的示例
Struts是Apache组织下的一个开源框架,主要用于构建Java Web应用程序。在Struts中实现国际化(i18n)是一项常见的需求,它使得应用能够支持多种语言环境,为全球用户提供友好的用户体验。本示例主要针对Struts 1.2版本,结合Hibernate 3.1进行数据持久化,为初学者提供一个基础的实践教程。 了解Struts国际化的基本概念。国际化是指设计和开发软件时,使其能适应不同地区的语言和习惯。在Web应用中,这通常涉及到资源文件的使用,如`.properties`文件,其中存储了各种语言的文本信息。在Struts中,这些资源文件通常命名为`messages.properties`,并按照不同的语言创建相应的版本,如`messages_en.properties`(英语)和`messages_zh_CN.properties`(简体中文)。 接下来,我们来看如何在Struts中配置和使用国际化: 1. **创建资源文件**: 在项目中创建一个名为`src/resources`的目录,然后在此目录下创建资源文件。例如,创建`messages.properties`文件,用于存储默认语言(通常是英文)的文本,以及对应的其他语言版本。 2. **配置Struts-config.xml**: 在`struts-config.xml`中添加`<forward>`元素来指定错误和成功的页面。同时,需要配置`<message-resources parameter="com.yourpackage.resources.messages"/>`,告诉Struts在哪里查找资源文件。这里的`com.yourpackage`应替换为你的实际包名。 3. **使用ActionForm和JSP**: 在ActionForm类中,可以使用`resourceKey`属性来引用资源文件中的键。在JSP页面上,通过`<bean:message key="keyname" bundle="resources"/>`标签来显示对应的语言字符串。`keyname`是资源文件中的键,`bundle`指定资源包的名称。 4. **处理请求中的locale**: 用户选择的语言环境(locale)通常包含在HTTP请求中。Struts可以通过`Action`类的`getLocale()`方法获取locale信息,并根据locale选择相应的资源文件。 5. **结合Hibernate**: 尽管本示例主要关注Struts的国际化,但同时使用Hibernate作为持久层框架,意味着需要考虑数据库中的多语言数据。通常,会为每种语言创建单独的数据表或字段,或者使用一个包含所有语言的字段,然后根据locale动态选择显示内容。 6. **部署和测试**: 部署应用后,可以通过更改浏览器的language设置或在URL中附加`?lang=zh_CN`来测试不同的语言环境。Struts会自动根据locale加载正确的资源文件。 总结来说,Struts国际化的实现涉及资源文件的创建、配置Struts配置文件、在ActionForm和JSP中使用资源键,以及处理locale信息。结合Hibernate,可以进一步完善多语言支持,使应用具备全球化的能力。这个简单的示例为初学者提供了理解并实践Struts 1.2和Hibernate 3.1国际化功能的良好起点。
- 1
- 一根羽毛2011-10-25编程初学者,感谢楼主的分享
- 粉丝: 1
- 资源: 11
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助