第1章 Struts和基于Eclipse的配置与开发 1
1.1 几个基本的技术要点 1
1.2 Struts 2
1.3 框架(Frame Work) 2
1.4 JSP开发的两个MVC Model方法 3
1.4.1 MVC Model 3
1.4.2 MVC Model 1 4
1.4.3 MVC Model 2 5
1.4.4 Struts中的MVC Model 6
1.5 配置Eclipse下的Struts开发环境 7
1.5.1 配置JDK环境变量要点 8
1.5.2 Eclipse的安装很“绿色” 9
1.5.3 MyEclipse的安装 9
1.5.4 Tomcat的安装 13
1.5.5 测试开发环境 15
第2章 Struts简介 23
2.1 Struts的工作流程 23
2.2 关于Struts的实例 25
2.2.1 添加Struts框架支持文件 25
2.2.2 视图层V-View的添加 28
2.2.3 控制层C-Controller的添加 33
2.2.4 模型层M-Model的添加 37
2.2.5 结尾前小小的改动 40
2.2.6 struts-config.xml文件 40
2.2.7 部署项目并运行 42
第3章 应用中的C-Controller控制层 44
3.1 ActionServlet类的作用 44
3.1.1 process()方法的执行过程 47
3.1.2 process()方法执行过程总结 48
3.2 Action类的作用 49
3.2.1 Action的工作 49
3.2.2 在Action类中进行用户名验证的实例 49
3.2.3 ActionErrors和ActionError类的关系和使用 54
3.3 ActionForward类的功能及两种在Eclipse中创建Action Forward类的方法 56
3.3.1 ActionForward类的功能 56
3.3.2 在Eclipse中创建ActionForward类的两种方法 56
3.3.3 带参数的ActionForward 57
3.4 使用ForwardAction进行页面或Web组件的跳转 57
3.4.1 什么情况下使用ForwardAction 58
3.4.2 一个ForwardAction类的实例 58
3.4.3 第二种创建ForwardAction类的方法 62
3.5 IncludeAction让年久失用的Web组件复用 62
3.5.1 使用IncludeAction包含JSP文件 63
3.5.2 使用IncludeAction包含进Servlet组件 68
3.6 DispatchAction将Action类变得更少 75
3.7 LookupDispatchAction实现一个表单包含多个提交按钮 79
3.8 用SwitchAction切换不同的Struts模块 85
第4章 中心配置文件struts-config.xml 94
4.1 Struts 1.2版struts-config.xml文件结构 94
4.2 struts-config.xml配置文件中的子元素 95
4.2.1 〈data-sources/>子元素 95
4.2.2 〈form-bean/〉子元素 95
4.2.3 〈global-forwards/〉子元素 95
4.2.4 〈action-mappings〉子元素 96
4.2.5 〈message-resources〉子元素 97
4.2.6 关于配置strus-config.xml文件 97
4.2.7 元素详解 99
4.2.8 attribute和name的区别 105
第5章 V-View视图层中的ActionForm 107
5.1 ActionForm类的结构 107
5.2 ActionForm生命周期 108
5.3 DynaActionForm使用方法 109
5.4 DynaActionForm实例 110
5.5 Action和ActionForm配置精例 115
5.5.1 完整的action功能 115
5.5.2 仅有Form的action超级链接功能 116
5.5.3 仅有Action的action执行链接式请求后就转发 116
5.5.4 仅有JSP的action 117
5.5.5 两个action对应一个Form 117
5.5.6 两个action对应两个Form 118
5.6 ActionForm中文乱码问题解决方案 118
5.7 Struts中的ActionErrors 119
第6章 Struts-HTML标签库 120
6.1 普通HTML与Struts中HTML标签的区别及Struts标签公共特征 120
6.2 显示Struts-HTML标签的Snippets窗口 121
6.3 〈html∶base/〉设置相对根路径 123
6.3.1 标签简介 123
6.3.2 使用示例1 123
6.3.3 使用示例2 124
6.4 〈html∶cancel/〉取消当前的提交 126
6.4.1 标签简介 126
6.4.2 使用示例 126
6.5 〈html∶checkbox/〉复选框 130
6.5.1 标签简介 130
6.5.2 使用示例 130
6.5.3 〈html∶checkbox/〉复选框在Action中状态的改变 132
6.5.4 〈html∶checkbox/〉复选框的初始化 133
6.5.5 在Action中通过数据库的数据控制〈html∶checkbox/〉复选框的选中状态 134
6.6 〈html∶errors/〉出错提示 138
6.6.1 显示局部错误信息 138
6.6.2 显示全局错误信息 140
6.6.3 生成错误信息在不同版本使用上的区别 142
6.7 〈html∶file/〉文件上传功能 142
6.7.1 定制JSP页面 142
6.7.2 定制ActionForm类 142
6.7.3 设计重要的Action类 143
6.7.4 查看struts-config.xml配置文件 145
6.8 〈html∶form/〉表单提交 145
6.9 〈html∶hidden/〉保密的数据传送 147
6.9.1 开发实例 147
6.9.2 〈html∶hidden〉如何设置默认值 150
6.10 〈html∶html〉定义HTML文件 151
6.11 〈html∶image〉定义图像提交按钮 152
6.12 〈html∶img〉在页面上显示图像 153
6.13 〈html∶link〉变幻莫测的超级链接 157
6.13.1 Link type为action的情况 158
6.13.2 Link type为forward的情况 160
6.13.3 Link type为href的情况 161
6.13.4 Link type为page的情况 162
6.13.5 带参数超级链接的情况 163
6.13.6 在〈html∶link〉中嵌入JSP脚本 165
6.13.7 带参数超级链接的问题解决实例 165
6.13.8 给Struts中〈html∶link〉标签加确认对话框 168
6.13.9 用〈html∶link〉标签生成BBS主题列表功能 168
6.14 〈html∶errors〉的更新版〈html∶messages〉 174
6.15 〈html∶multibox/〉分组类型的复选框 181
6.15.1 用〈html∶multibox/〉做一个选择“爱好”的实例 181
6.15.2 〈html∶multibox/〉初始化时即呈checked状态 183
6.16 用〈html∶select/〉和〈html∶option/〉实现下拉列表 187
6.16.1 用〈html∶select/〉和〈html∶option/〉实现下拉列表 187
6.16.2 〈html∶select/〉和〈html∶option/〉实现列表单选 188
6.16.3 〈html∶select/〉和〈html∶option/〉实现列表多选 188
6.16.4 〈html∶select/〉和〈html∶option/〉标签设置下拉列表初始化值 189
6.16.5 〈html∶select/〉和〈html∶option/〉设置列表单选初始化值 190
6.16.6 〈html∶select/〉和〈html∶option/〉设置列表多选初始化值 190
6.16.7 如何获取〈html∶select/〉和〈html∶option/〉下拉列表单选值 192
6.16.8 如何获取〈html∶select/〉和〈html∶option/〉列表多选值 194
6.17 使用〈html∶options〉动态生成〈html∶select/〉和〈html∶option〉列表内容 195
6.17.1 将数据库的内容动态生成〈html∶select/〉和〈html∶option〉列表内容 196
6.17.2 初始化〈html∶select/〉和〈html∶options〉列表生成的内容 198
6.18 使用〈html∶optionsCollection〉动态生成〈html∶option〉列表内容 198
6.18.1 使用〈html∶optionsCollection〉动态生成〈html∶option〉列表内容实例 198
6.18.2 使用〈html∶optionsCollection〉标签中的property属性来生成下拉列表 202
6.19 〈html∶password〉、〈html∶text〉、〈html∶textarea〉标签的使用 205
6.19.1 〈html∶password〉标签的redisplay属性实例 205
6.19.2 使用style的CSS样式改变〈html∶text〉标签的外观 207
6.19.3 〈html∶textarea〉标签的使用 208
6.20 〈html∶radio〉标签的使用 208
6.21 〈html∶submit〉和〈html∶reset〉标签的使用 209
6.22 总结 209
第7章 Struts-Logic标签库 210
7.1 〈logic∶iterate〉标签的功能 210
7.1.1 打印数组中的内容 211
7.1.2 打印HashMap中的内容 211
7.1.3 打印ArrayList中的内容 212
7.2 〈logic∶redirect〉重定向的标签 213
7.3 〈logic∶forward〉转发的标签 214
7.4 〈logic∶empty〉和〈logic∶notempty〉标签的作用 214
7.5 〈logic∶present〉标签的作用和与〈logic∶empty〉的区别 215
7.6 用〈logic∶equal〉和〈logic∶notEqual〉判断等于和不等于 216
7.6.1 使用〈logic∶equal〉和〈logic∶notEqual〉判断变量 217
7.6.2 使用〈logic∶equal〉和〈logic∶notEqual〉判断Bean的属性值 217
7.7 用〈logic∶lessEqual〉和〈logic∶lessThan〉判断小于等于和小于 218
7.7.1 〈logic∶lessEqual〉和〈logic∶lessThan〉判断变量 218
7.7.2 〈logic∶lessEqual〉和〈logic∶lessThan〉判断Bean的属性值 219
7.8 用〈logic∶greaterEqual〉和〈logic∶greaterThan〉判断大于等于和大于 220
7.8.1 〈logic∶greaterEqual〉和〈logic∶greaterThan〉判断变量 220
7.8.2 〈logic∶greaterEqual〉和〈logic∶greaterThan〉判断Bean的属性值 221
第8章 Struts-Bean标签库 223
8.1 Bean标签库的功能 223
8.2 〈bean∶write/〉标签打印Bean中的属性值 223
8.2.1 〈bean∶write〉标签打印变量 223
8.2.2 〈bean∶write〉标签打印Bean的property属性值 224
8.2.3 〈bean∶write〉标签format属性的应用 227
8.2.4 〈bean∶write〉标签filter属性的应用 227
8.3 〈bean∶parameter/〉标签读取HTTP请求的参数 228
8.3.1 使用〈bean∶parameter/〉标签读取单个http参数 228
8.3.2 使用〈bean∶parameter/〉标签读取数组型HTTP参数 229
8.4 〈bean∶message〉标签显示资源文件中的文本消息 230
8.5 在〈bean∶define〉标签中定义变量 235
8.5.1 在〈bean∶define〉标签中定义字符串常量 236
8.5.2 〈bean∶define〉标签复制Bean 236
8.5.3 用〈bean∶define〉标签复制现有Bean的属性给新的Bean属性 236
第9章 关于Struts的其他内容 237
9.1 Struts资源文件国际化 237
9.1.1 MyEclipse保存资源文件的编码哨兵 237
9.1.2 使用MyEclipse资源文件的插件jinto 237
9.2 在Struts的URL中传递中文参数 238
9.3 从不同的资源文件中显示信息 240
9.3.1 从不同的资源文件中显示信息的实例 240
9.3.2 优化新建资源文件目录结构 243
9.4 没有登录不能访问非index.jsp的JSP页面 244
9.5 设置应用的默认页面 252
9.6 URL重写技术 254
9.7 使用Struts多语言切换的情况 259
9.8 添加Struts包的操作 263
9.9 实现跨页表单的提交 265
第10章 简易论坛模型的实例 274
10.1 实例目标 274
10.2 功能模块简介 274
10.3 模块设计 275
10.3.1 用户注册 276
10.3.2 显示主题列表 284
10.3.3 用户登录 295
10.3.4 修改个人用户信息 297
10.3.5 查询用户 301
10.3.6 删除用户 307
10.3.7 删除主题及删除回复 308
10.4 总结 309