第1章 建立Struts开发环境 1
1.0 概述 1
1.1 下载Struts 1
1.2 部署Struts示例应用 3
1.3 从Struts 1.0移植到Struts 1.1 7
1.4 从Struts 1.1升级至Struts 1.2 9
1.5 将JSP应用转到Struts 11
1.6 Struts配置文件管理 16
1.7 使用Ant来构建和部署 18
1.8 使用XDoclet生成Struts配置文件 21
第2章 配置Struts应用 27
2.0 概述 27
2.1 使用插件进行应用程序初始化 27
2.2 消除标签库声明 31
2.3 在JSP中使用常量 34
2.4 使用多个Struts配置文件 37
2.5 将应用程序分解成模块 39
2.6 运用多个资源包 42
2.7 从数据库中访问信息资源文件 44
2.8 有选择地禁止action 49
第3章 用户界面 53
3.0 概述 53
3.1 使用JSTL 54
3.2 使用Struts-EL标签 56
3.3 显示索引属性 58
3.4 在表单中使用索引属性 61
3.5 在JSTL循环中使用索引属性 66
3.6 从一幅图提交表单 69
3.7 动态生成JavaScript 70
3.8 使用JavaScript动态改变选项 71
3.9 生成动态select列表选项 77
3.10 过滤文本输入 81
3.11 生成一组相关的单选按钮 83
3.12 处理未选择的复选框 88
3.13 处理日期输入字段 90
3.14 设置Tab顺序 94
3.15 生成URL 96
3.16 在链接中添加请求参数 97
3.17 使用框架 99
3.18 掌握浏览器缓存 103
第4章 表,排序和分组 107
4.0 概述 107
4.1 创建一个横条图 107
4.2 创建一个纵条图 113
4.3 切换表中行的颜色 117
4.4 HTML表排序 120
4.5 表分页 124
4.6 使用Display标签库 131
第5章 处理表单 135
5.0 概述 135
5.1 创建动态Action表单 136
5.2 为DynaActionForm设置初始值 139
5.3 使用支持列表的Form属性 142
5.4 使用支持map的form属性 145
5.5 惰性动态Action表单 147
5.6 在Action表单中使用值对象 149
5.7 自动创建ActionForm 156
第6章 控制Action 160
6.0 概述 160
6.1 创建基类Action 161
6.2 转发Action 163
6.3 返回HTTP响应 164
6.4 写出线程安全的Action 166
6.5 转发请求 167
6.6 在Servlet或JSP中包含响应 169
6.7 改变当前模块 170
6.8 在核心Action类中管理相关操作 174
6.9 在本地化的表单控件中提交一个表单 178
6.10 用Action映射分派相关操作 181
第7章 执行控制 186
7.0 概述 186
7.1 在应用启动时执行任务 186
7.2 跟踪客户会话 188
7.3 监控用户登录 190
7.4 用户转发到备选目标 193
7.5 用户模块转发 196
7.6 创建一个向导风格的页面流 197
7.7 基于用户输入决定Action 201
7.8 在Action路径中使用通配符 202
7.9 防止重复提交表单 205
7.10 允许用户上传文件 209
7.11 显示来自服务器的文件 212
第8章 输入验证 215
8.0 概述 215
8.1 重用Validator属性值 221
8.2 使用正则表达式验证 223
8.3 验证Struts 1.1的非独立字段 225
8.4 在Struts 1.2中验证依赖字段 228
8.5 验证索引属性 230
8.6 验证日期 235
8.7 使用自定义Validator验证字段 237
8.8 在Struts 1.2中验证字段的相等性 243
8.9 验证两个或者两个以上的选项 244
8.10 向Validator表单添加自定义的验证 247
8.11 向导表单的验证 249
8.12 验证规则的本地化 252
第9章 异常和错误处理 255
9.0 概述 255
9.1 在Action类中简化异常处理 255
9.2 已声明异常的自定义处理 260
9.3 使用异常错误代码 264
9.4 使用一个全局错误页 269
9.5 从Action报告错误和消息 276
9.6 格式化错误信息 281
第10章 连接数据 288
10.0 概述 288
10.1 从Action访问JDBC数据源 288
10.2 显示关系数据 290
10.3 从SQL数据映射到Java对象 294
10.4 整合Struts与Hibernate 300
10.5 从外部服务中解除应用 305
10.6 整合Struts与Spring 309
10.7 在您的应用程序中加载XML数据 314
10.8 刷新应用数据 319
第11章 安全性 326
11.0 概述 326
11.1 使用基类Action实现安全性 327
11.2 对任何一个Struts请求检查登录用户 329
11.3 JSP页的安全 332
11.4 通过角色限制action 336
11.5 实现“记忆”登录 339
11.6 在整个应用中加强安全性 343
11.7 允许用户自动登录 346
11.8 通过角色限制对特定URL的访问 350
11.9 容器管理安全 353
11.10 结合使用应用管理安全和容器管理安全 360
11.11 配置Action以使用SSL 367
11.12 限制上传文件的大小 370
第12章 国际化 373
12.0 概述 373
12.1 查看浏览器语言设置 374
12.2 用JSTL共享消息资源 376
12.3 使用一个应用范围内的区域 378
12.4 动态更改区域 381
12.5 从Action中创建本地化消息 385
12.6 显示特定区域的文本 386
12.7 显示特定区域的图像 390
12.8 对字符集的支持 393
12.9 界面的本地化 397
第13章 测试与调试 400
13.0 概述 400
13.1 自动部署应用程序 401
13.2 配置Struts日志 403
13.3 向类添加日志 405
13.4 启用远程调试 407
13.5 JSP页面疑难解析 410
13.6 用mock对象测试Action 416
13.7 在容器中测试Action 423
13.8 测试应用程序的功能 428
第14章 Tiles和其他显示方法 434
14.0 概述 434
14.1 用Tiles重用通用页面布局 435
14.2 继承Tile定义 439
14.3 运用Struts转发来显示Tiles 441
14.4 创建卡片式面板 442
14.5 对I18N使用Tiles 448
14.6 在模块化应用程序中使用Tiles 449
14.7 在SiteMesh中重用通用页面布局 451
14.8 集成JavaServer Faces与Struts 459
14.9 集成Struts和Velocity 465
14.10 集成Struts和XSLT 472