Struts数据库连接与国际化实现详解
需积分: 9 57 浏览量
更新于2024-10-03
收藏 203KB DOC 举报
"Struts数据源连接和国际化是构建基于Struts框架的Web应用程序时的两个关键方面。本文档将详细介绍如何配置Struts与数据库的连接以及实现国际化功能。"
Struts连接数据库
在Struts中,连接数据库通常依赖于DataSource,这是一种标准的Java EE接口,用于管理数据库连接。在`struts-config.xml`配置文件中,可以通过添加`<data-source>`子节点来定义DataSource。例如:
```xml
<data-source key="UserDS" type="org.apache.commons.dbcp.BasicDataSource">
<set-property property="username" value="sa"/>
<set-property property="password" value="chhj4485292"/>
<set-property property="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<set-property property="url" value="jdbc:sqlserver://localhost:1433;databaseName=testTemp"/>
</data-source>
```
这段代码配置了一个名为`UserDS`的DataSource,指定用户名、密码、数据库驱动类和连接URL。为了使这个配置生效,需要在项目的类路径中包含`commons-pool-1.3.jar`、`commons-dbcp-1.2.1.jar`这两个Apache Commons库,以及对应数据库的驱动JAR包(如:`sqljdbc4.jar`对于SQL Server)。
在Action的子类中,可以通过以下方式获取到DataSource:
```java
DataSource ds = getDataSource(request, "UserDS");
```
确保在获取DataSource时,所有属性名与配置文件中的属性名一致,比如驱动类名称应为`driverClassName`而非`driverClass`。
2. 国际化
国际化(i18n)是Web应用提供多语言支持的关键。在Struts中,可以通过以下步骤实现:
1. 创建资源文件:为每种语言创建一个`.properties`文件,如`messages_en.properties`(英语)和`messages_zh_CN.properties`(简体中文)。这些文件应包含键值对,其中键代表消息标识,值是该语言下的实际消息文本。
2. 配置`struts-config.xml`:在`<global-exceptions>`或`<global-messages>`节点下添加`<message-resources>`配置,指定资源文件的位置:
```xml
<message-resources parameter="com.example.myapp.messages" />
```
这里`com.example.myapp.messages`是资源文件的完全限定类名。
3. 在ActionForm或JSP页面中使用:在ActionForm中,可以使用`ActionMessages`或`ActionErrors`对象获取和显示消息。在JSP页面上,可以使用`<fmt:message>`标签来显示本地化的消息:
```jsp
<fmt:message key="hello.message" bundle="${resources}" />
```
其中,`hello.message`是资源文件中的键,`${resources}`是指向资源文件的引用。
4. 设置请求或session范围的Locale:在处理用户请求时,根据用户的首选语言设置`HttpServletRequest`的`getLocale()`方法返回的Locale对象。这将确保Struts使用正确的资源文件。
5. 测试:通过更改浏览器设置或手动设置请求参数,验证不同语言环境下消息显示的正确性。
通过上述步骤,Struts应用就能适应不同国家和地区的用户,提供定制的语言体验。在开发过程中,确保始终更新和维护资源文件,并对各种语言环境进行充分的测试,以确保国际化的质量和用户体验。
2007-11-08 上传
2009-03-01 上传
2022-01-09 上传
2008-11-03 上传
2007-11-17 上传
2007-04-05 上传
2008-09-02 上传
2019-04-09 上传
2008-05-12 上传
ch123256085
- 粉丝: 26
- 资源: 45
最新资源
- 平尾装配工作平台运输支撑系统设计与应用
- MAX-MIN Ant System:用MATLAB解决旅行商问题
- Flutter状态管理新秀:sealed_flutter_bloc包整合seal_unions
- Pong²开源游戏:双人对战图形化的经典竞技体验
- jQuery spriteAnimator插件:创建精灵动画的利器
- 广播媒体对象传输方法与设备的技术分析
- MATLAB HDF5数据提取工具:深层结构化数据处理
- 适用于arm64的Valgrind交叉编译包发布
- 基于canvas和Java后端的小程序“飞翔的小鸟”完整示例
- 全面升级STM32F7 Discovery LCD BSP驱动程序
- React Router v4 入门教程与示例代码解析
- 下载OpenCV各版本安装包,全面覆盖2.4至4.5
- 手写笔画分割技术的新突破:智能分割方法与装置
- 基于Koplowitz & Bruckstein算法的MATLAB周长估计方法
- Modbus4j-3.0.3版本免费下载指南
- PoqetPresenter:Sharp Zaurus上的开源OpenOffice演示查看器