Struts2深入详解目录

来源:互联网 发布:linux下启动oracle 编辑:程序博客网 时间:2024/05/21 13:22

Struts2深入详解(孙鑫)

 

 第1章 认识Struts 2

  1.1 什么是Web框架

  1.1.1 模型1

  1.1.2 模型2MVC

  1.1.3 Web框架的诞生

  1.2 Struts 1Struts 2

  1.2.1 其他Web框架

  1.2.2 Struts 1的缺点

  1.2.3 市场与技术的结合——Struts 2的诞生

  1.3 准备开发环境

  1.4 小结

  第2 Struts 2初体验

  2.1 下载和安装Struts 2

  2.2 使用Subversion来获取

  2.2 Struts 2的源代码

  2.3 Hello World程序

  2.4 Struts 2项目开发总结

  2.5 小结

  第3章 由登录开始

  3.1 使用领域对象接收用户输入

  3.2 使用ModelDriven action

  3.3 使用action的属性接收用户输入

  3.4 访问requestsessionapplication对象

  3.4.1 Servlet API解耦的访问方式

  3.4.2 Servlet API耦合的访问方式

  3.5 小结

  第4 Struts 2架构剖析

  4.1 XWork 2——Struts 2的基础

  4.2 Struts 2的体系结构

  4.3 Struts 2框架的调用流程

  4.4 小结

  第5 Struts 2配置详解

  5.1 Struts 2的配置文件

  5.1.1 web.xml

  5.1.2 struts.properties

  5.1.3 struts-default.xml

  5.1.4 struts.xml

  5.1.5 struts-plugin.xml

  5.1.6 静态内容

  5.2 struts.xml配置详解

  5.2.1 Bean配置

  5.2.2 常量(Constant)的配置

  5.2.3 包(Package)配置

  5.2.4 名称空间(Namespace)配置

  5.2.5 包含(Include)配置

  5.2.6 拦截器(Interceptor)配置

  5.2.7 Action配置

  5.2.8 Result配置

  5.2.9 异常(Exception)配置

  5.3 配置Action

  5.3.1 Action映射

  5.3.2 使用method属性

  5.3.3 动态方法调用

  5.3.4 模拟Struts 1ForwardAction

  5.3.5 默认的action

  5.3.6 通配符映射

  5.4 配置Result

  5.4.1 结果映射

  5.4.2 结果类型

  5.4.3 常用结果类型

  5.4.3.1 dispatcher结果类型

  5.4.3.2 redirect结果类型

  5.4.3.3 redirectAction结果类型

  5.4.3.4 plainText结果类型

  5.4.4 全局结果

  5.4.5 动态结果

  5.4.6 在结果配置中使用参数

  5.5 异常处理

  5.6 使用注解配置Action

  5.6.1 Action配置相关的注解

  5.6.2 使用注解配置Action的注意事项

  5.6.3 使用注解配置Action的实例

  5.7 小结

  第6章 准备用户注册程序

  6.1 创建数据库表

  6.2 编写用户注册程序

  6.3 解决中文乱码问题

  6.4 Struts 2对依赖注入的支持

  6.4.1 Spring插件

  6.4.2 在用户注册程序中集成Spring

  6.5 小结

  第7 Struts 2中的OGNL

  7.1 为什么使用OGNL

  7.2 OGNL基础

  7.3 OGNL表达式

  7.3.1 常量

  7.3.2 操作符

  7.3.3 访问JavaBean的属性

  7.3.4 调用方法

  7.3.5 调用静态方法和静态字段

  7.3.6 调用构造方法

  7.3.7 索引访问

  7.3.7.1 数组和列表索引

  7.3.7.2 JavaBean的索引属性

  7.3.7.3 OGNL对象索引属性

  7.3.8 对集合进行操作

  7.3.8.1 创建集合

  7.3.8.2 集合的伪属性

  7.3.8.3 投影(projection

  7.3.8.4 选择(selection

  7.3.9 lambda表达式

  7.4 OGNL的类型转换

  7.5 Struts 2OGNL基础上的增强

  7.5.1 值栈(ValueStack

  7.5.2 [N]语法

  7.5.3 top关键字

  7.5.4 访问静态成员

  7.5.5 值栈中的Action实例

  7.5.6 Struts 2中的命名对象

  7.6 JSP 2.1的冲突

  7.7 OGNL表达式的综合应用

  7.8 小结

  第8 Struts 2的标签库

  8.1 引用Struts 2的标签库

  8.2 标签的语法

  8.3 通用标签

  8.3.1 数据标签

  8.3.1.1 property标签

  8.3.1.2 set标签

  8.3.1.3 push标签

  8.3.1.4 param标签

  8.3.1.5 bean标签

  8.3.1.6 action标签

  8.3.1.7 include标签

  8.3.1.8 url标签

  8.3.1.9 i18ntext标签

  8.3.1.10 date标签

  8.3.1.11 debug标签

  8.3.2 控制标签

  8.3.2.1 if/elseif/else标签

  8.3.2.2 iterator标签

  8.3.2.3 append标签

  8.3.2.4 merge标签

  8.3.2.5 generator标签

  8.3.2.6 subset标签

  8.3.2.7 sort标签

  8.4 UI标签

  8.4.1 模板和主题

  8.4.1.1 Struts 2支持的模板引擎

  8.4.1.2 加载模板

  8.4.1.3 选择主题

  8.4.1.4 创建定制的主题

  8.4.1.5 Struts 2内置的4种主题

  8.4.2 表单标签

  8.4.2.1 表单标签的公共属性

  8.4.2.2 表单标签的namevalue属性

  8.4.2.3 ID名分配

  8.4.2.4 form标签

  8.4.2.5 textfield标签

  8.4.2.6 password标签

  8.4.2.7 textarea标签

  8.4.2.8 select标签

  8.4.2.9 optgroup标签

  8.4.2.10 radio标签

  8.4.2.11 checkbox标签

  8.4.2.12 checkboxlist标签

  8.4.2.13 doubleselect标签

  8.4.2.14 combobox标签

  8.4.2.15 optiontransferselect标签

  8.4.2.16 updownselect标签

  8.4.2.17 hidden标签

  8.4.2.18 submit标签

  8.4.2.19 reset标签

  8.4.2.20 label标签

  8.4.2.21 token标签

  8.4.2.22 file标签

  8.4.2.23 head标签

  8.4.3 非表单标签

  8.4.3.1 component标签

  8.4.3.2 a标签

  8.4.3.3 actionerroractionmessagefielderror标签

  8.5 使用Struts 2的表单标签改写用户注册程序中的注册页面

  8.6 小结

  第9章 国际化

  9.1 国际化与本地化

  9.1.1 Locale

  9.1.2 资源包

  9.1.3 消息格式化

  9.2 Struts 2对国际化的支持

  9.2.1 Struts 2资源包的组织和加载方式

  9.2.2 在消息文本中使用参数

  9.2.3 访问国际化消息

  9.3 将用户注册程序国际化

  9.4 错误消息的国际化

  9.5 Struts 2设定访问用户的locale的流程

  9.6 为用户注册程序添加英文版本

  9.7 小结

  第10章 拦截器

  10.1 拦截器的工作方式

  10.2 编写拦截器类

  10.3 Struts 2自带的拦截器

  10.4 配置拦截器

  10.5 PreResultListener接口

  10.6 开发执行安全验证的拦截器

  10.7 使用拦截器注解

  10.8 小结

  第11章 类型转换

  11.1 传统的数据处理过程

  11.2 Struts 2对类型转换的支持

  11.2.1 使用OGNL表达式命名参数

  11.2.2 Struts 2内置的类型转换器

  11.2.3 null属性的处理

  11.2.4 ListMapSet的支持

  11.2.4.1 使用List来保存图书信息的实例

  11.2.4.2 使用Map来保存图书信息的实例

  11.2.5 使用Set来保存图书信息的实例

  11.3 创建自定义的类型转换器

  11.4 类型转换错误的处理

  11.5 使用类型转换注解

  11.5.1 TypeConversion注解

  11.5.2 Conversion注解

  11.5.3 Element注解

  11.5.4 Key注解

  11.5.5 KeyProperty注解

  11.5.6 CreateIfNull注解

  11.6 小结

  第12章 对输入数据进行验证

  12.1 手动验证

  12.1.1 Actionexecute()方法中进行验证

  12.1.2 validateXxx()方法中进行验证

  12.1.3 validate()方法中进行验证

  12.2 使用验证框架

  12.2.1 什么是验证器

  12.2.2 注册验证器

  12.2.3 开启验证

  12.2.4 定义验证规则

  12.2.5 验证文件的查找顺序

  12.2.6 Struts 2内置的验证器

  12.2.7 在用户注册程序中使用验证框架

  12.2.8 确认密码的验证

  12.2.9 短路验证

  12.2.10 开发自己的验证器

  12.2.11 使用visitor字段验证器复用验证

  12.2.12 同时使用验证框架和手动验证

  12.2.13 客户端JavaScript验证

  12.3 使用验证注解

  12.3.1 与验证相关的注解

  12.3.2 在用户注册程序中使用验证注解

  12.4 小结

  第13章 使用FreeMarker作为表现层

  13.1 FreeMarker简介

  13.1.1 FreeMarker是什么

  13.1.2 为什么要使用FreeMarker

  13.2 FreeMarker的工作原理

  13.2.1 模板+数据模型=输出

  13.2.2 数据模型

  13.2.2.1 scalar变量

  13.2.2.2 hashsequence变量

  13.2.2.3 方法变量

  13.2.2.4 宏变量

  13.2.3 模板

  13.3 FreeMarker的语法和操作

  13.3.1 准备工作

  13.3.2 表达式

  13.3.2.1 直接指定值

  13.3.2.2 访问变量

  13.3.2.3 字符串操作

  13.3.2.4 序列操作

  13.3.2.5 散列操作

  13.3.2.6 算术运算

  13.3.2.7 比较操作

  13.3.2.8 逻辑操作

  13.3.2.9 内置函数

  13.3.2.10 方法调用

  13.3.2.11 缺少值处理操作符

  13.3.2.12 操作符优先级

  13.3.3 插值(interpolation

  13.3.4 指令

  13.3.4.1 if/elseif/else指令

  13.3.4.2 switch/case/default/break指令

  13.3.4.3 list/break指令

  13.3.4.4 include指令

  13.3.4.5 import指令和名称空间

  13.3.4.6 assign指令

  13.3.4.7 global指令

  13.3.4.8 local指令

  13.3.4.9 setting指令

  13.3.4.10 macronestedreturn指令

  13.3.4.11 functionreturn指令

  13.3.4.12 noparse指令

  13.3.4.13 escapenoescape指令

  13.3.5 内置函数

  13.3.5.1 操作字符串

  13.3.5.2 操作数字

  13.3.5.3 操作日期

  13.3.5.4 操作布尔值

  13.3.5.5 操作序列

  13.3.5.6 操作散列

  13.3.6 在模板中定义变量

  13.4 Struts 2FreeMarker的支持

  13.4.1 FreeMarker标签

  13.4.2 FreeMarker标签中

  13.4.2 使用动态属性

  13.4.3 JSP标签支持

  13.4.4 变量解析与内置变量

  13.4.5 访问Servlet/JSP范围对象

  13.4.6 类型转换与本地化

  13.5 在用户注册程序中使用FreeMarker来实现表现层

  13.6 小结

  第14章 使用SiteMesh控制页面布局

  14.1 SiteMesh简介

  14.2 下载并安装SiteMesh

  14.3 感受SiteMesh

  14.4 SiteMesh的工作原理

  14.5 SiteMesh的标签库

  14.5.1 decorator标签库

  14.5.2 page标签库

  14.6 在装饰器中获取原始页面的内容

  14.7 装饰器的组合应用

  14.8 装饰器映射器

  14.9 Struts 2SiteMesh的支持

  14.10 在用户注册程序中使用SiteMesh进行页面布局

  14.10.1 使用JSP作为表现层

  14.10.2 使用FreeMarker作为表现层

  14.11 小结

  第15章 避免表单重复提交与等待页面

  15.1 避免表单重复提交

  15.1.1 避免表单重复提交的实现原理

  15.1.2 Struts 2的实现方式

  15.1.3 使用TokenInterceptor

  15.1.4 使用TokenSessionStoreInterceptor

  15.2 自动显示等待页面

  15.2.1 ExecuteAndWaitInterceptor 的工作机制

  15.2.2 使用ExecuteAndWaitInterceptor

  15.3 小结

  第16章 文件上传和下载

  16.1 文件上传

  16.1.1 基于表单的文件上传

  16.1.2 文件上传格式分析

  16.1.3 Struts 2对文件上传的支持

  16.1.4 Struts 2中实现文件上传

  16.1.5 对文件上传进行更多的控制

  16.1.6 多文件上传

  16.2 文件下载

  16.2.1 Struts 2对文件下载的支持

  16.2.2 Struts 2中实现文件下载

  16.2.3 改进下载程序

  16.3 小结

  第17章 在Struts 2中实现CRUD

  17.1 准备工作

  17.2 文章分类的CRUD操作

  17.3 小结

  第18 Struts 2Ajax的支持

  18.1 Ajax快速入门

  18.1.1 Ajax简介

  18.1.2 DOM

  18.1.3 XMLHttpRequest

  18.2 Ajax应用开发

  18.2.1 使用XML作为数据的载体

  18.2.2 使用JSON串作为数据的载体

  18.2.2.1 理解JSON

  18.2.2.2 下载JSONJava实现

  18.2.2.3 下载JSONJavaScript脚本

  18.2.2.4 使用JSON作为图书信息的数据

  18.2.2.2 格式

  18.2.3 使用Dojo简化Ajax应用的开发

  18.2.3.1 Dojo概述

  18.2.3.2 下载Dojo工具包

  18.2.3.3 ch18 Web程序中使用Dojo

  18.3 Struts 2中使用JSON插件

  18.3.1 JSON插件

  18.3.1.1 JSON插件概述

  18.3.1.2 定制序列化和反序列化

  18.3.1.3 下载JSON插件

  18.3.2 使用JSON插件的实例

  18.4 Struts 2Ajax标签

  18.4.1 Ajax标签的基础知识

  18.4.1.1 共同的属性

  18.4.1.2 等待指示符

  18.4.1.3 事件发布/订阅模型

  18.4.1.4 URL

  18.4.1.5 阻止请求

  18.4.2 使用Ajax标签前的准备工作

  18.4.3 div标签

  18.4.4 submit标签

  18.4.5 a标签

  18.4.6 tabbedPanel标签

  18.4.7 autocompleter标签

  18.4.7.1 autocompleter标签简介

  18.4.7.2 准备工作

  18.4.7.3 autocompleter标签用法详析

  18.4.8 treetreenode标签

  18.4.8.1 treetreenode标签构建静态树

  18.4.8.2 tree标签构建动态树

  18.5 Struts 2DWR的支持

  18.6 小结

  第19章 集成HibernateSpring

  19.1 Hibernate简介

  19.2 Hibernate的下载和安装

  19.3 Hibernate快速入门

  19.3.1 配置文件

  19.3.2 主要接口和类

  19.3.3 总结

  19.4 Struts 2中集成Hibernate

  19.5 集成Spring

  19.6 小结

  第20章 在Struts 2中开发Struts 1Web应用

  20.1 Struts 1插件

  20.1.1 Struts 1插件的工作原理

  20.1.2 使用Struts 1插件

  20.2 用户注册实例

  20.2.1 准备工作

  20.2.2 阶段1:简单的Struts 1 Action

  20.2.3 阶段2:带有ActionFormStruts 1 Action

  20.2.4 阶段3:添加手动验证

  20.2.5 阶段4:使用CommonsValidator验证框架

  20.3 小结

  附录A Struts 1Struts 2的对比

  附录B WebWork 2Struts 2的对比

  附录C WebWork 2移植到Struts 2