Struts 2 基础教程:Action研究与数据验证
需积分: 2 55 浏览量
更新于2024-07-26
收藏 205KB PDF 举报
"AnyFo - Struts 2_1爆胎易筋丸.pdf" 是一份关于Struts 2框架的详细教程,旨在帮助初学者入门并深入理解该框架的使用。
## 1. 入门
### 1.1 环境搭建
在开始Struts 2开发前,需要搭建基本的开发环境,这通常包括安装Java SDK、集成开发环境(如Eclipse或IntelliJ IDEA)、以及配置项目构建工具(如Maven或Gradle)来管理依赖。
### 1.2 基础开发
#### 1.2.1 输入页面
创建HTML表单作为用户输入数据的界面,表单通常会提交到Struts 2的Action。
#### 1.2.2 输出页面
Struts 2通过JSP或FreeMarker等模板技术来生成动态响应页面。
#### 1.2.3 Action类
Action类是业务逻辑的载体,它接收表单提交的数据,进行处理,并返回结果。
#### 1.2.4 struts.xml配置文件
这是Struts 2的核心配置文件,用于定义Action、结果页面和其他框架配置。
## 2. Action研究
### 2.1 访问Servlet API
Struts 2允许在Action类中直接访问Servlet API,以便进行请求处理和响应构建。
### 2.2 动态方法调用
Struts 2支持动态调用Action中的方法,提供了多方法模式、多Action模式和模糊匹配模式。
#### 2.2.1 多方法模式
一个Action类可以有多个执行方法,每个方法对应不同的业务逻辑。
#### 2.2.2 多Action模式
使用多个Action类处理不同的请求,每个Action负责特定的业务场景。
#### 2.2.3 模糊匹配模式
通过Action名称的后缀来动态调用方法,简化配置。
### 2.3 模型驱动
模型驱动模式下,Action可以直接使用Model对象,减少代码量。
### 2.4 异常处理
#### 2.4.1 自定义异常类
定义自己的异常类,用于抛出特定的业务错误。
#### 2.4.2 异常定义
在配置文件中定义异常处理策略。
#### 2.4.3 异常显示页面
当发生异常时,Struts 2会转向指定的错误页面显示异常信息。
## 3. 配置文件
### 3.1 Result
Result定义了Action执行后的结果,如跳转到哪个页面。
#### 3.1.1 跳转到Action
Result可以配置成另一个Action,实现页面间的跳转。
## 4. 国际化
### 4.1 资源文件
使用.properties文件存储不同语言的文本。
### 4.2 添加国际化资源库
在项目中添加对应语言的资源文件,如message_zh_CN.properties。
### 4.3 页面显示国际化信息
通过Struts 2的标签在页面上显示国际化文本。
### 4.4 带参数的国际化信息
可以将动态值插入到国际化文本中,提供更灵活的显示。
## 5. 数据验证
### 5.1 validate方法验证
在Action类中重写validate方法进行数据校验。
#### 5.1.1 国际化文件
使用国际化文件存放错误消息。
#### 5.1.2 Action类
在validate方法中编写验证逻辑。
#### 5.1.3 Action配置
在struts.xml中配置验证规则。
#### 5.1.4 错误信息的显示
错误信息会被自动绑定到Action的字段上,方便在页面上显示。
### 5.2 validateXXX方法验证
针对不同方法,可以定义不同的validate方法。
### 5.3 验证框架
使用Struts 2内置的验证框架,如使用XML配置文件进行验证。
#### 5.3.1 Action类
在Action类中定义需要验证的属性。
#### 5.3.2 验证文件
创建一个或多个validation.xml文件来定义验证规则。
#### 5.3.3 前台验证
可以实现客户端的JavaScript验证,提供更好的用户体验。
#### 5.3.4 验证规则
定义如非空、长度、格式等验证规则。
## 6. 转换器
### 6.1 封装类
创建封装类用于类型转换,便于处理复杂的数据类型。
### 6.2 Action
在Action中声明转换器,对传入的数据进行转换。
### 6.3 转换器代码
实现Converter接口,编写转换逻辑。
#### 6.3.1 基于OGNL
使用OGNL表达式进行转换。
#### 6.3.2 基于Struts
利用Struts提供的转换器机制。
### 6.4 转换器申明
在Action类或全局配置中声明转换器。
#### 6.4.1 局部转换器声明
只对当前Action生效。
#### 6.4.2 全局转换器声明
对整个应用有效。
## 7. AJAX
### 7.1 AJAX验证
使用AJAX实现异步数据验证。
#### 7.1.1 页面
在页面上使用AJAX发送请求。
#### 7.1.2 Action
Action端处理AJAX请求并返回验证结果。
#### 7.1.3 验证框架
结合Struts 2的验证框架,实现AJAX验证。
## 8. 标签库
### 8.1 控制标签
#### 8.1.1 s:if
条件判断标签,根据表达式结果决定是否渲染内容。
#### 8.1.2 s:iterator
循环标签,遍历集合并在循环体内渲染内容。
### 8.2 数据标签
#### 8.2.1 显示一个数据
如`s:property`标签用于显示对象的属性值。
#### 8.2.2 s:action
执行Action并获取返回值。
### 8.3 表单标签
#### 8.3.1 s:checkbox
用于创建复选框。
#### 8.3.2 原始Checkbox
与原生HTML的checkbox标签相比,s:checkbox提供更多的功能。
#### 8.3.3 s:checkboxlist
用于创建多选框列表。
#### 8.3.4 s:textfield
创建文本输入框。
以上内容涵盖了Struts 2框架的基础知识,包括Action的使用、配置文件的配置、数据验证、国际化、AJAX支持以及丰富的标签库,为开发者提供了全面的指导。
2010-08-11 上传
2009-01-05 上传
2008-08-03 上传
2009-01-05 上传
2009-01-05 上传
2009-01-05 上传
2009-01-05 上传
2009-01-05 上传
na_tsu
- 粉丝: 1
- 资源: 2
最新资源
- SSM Java项目:StudentInfo 数据管理与可视化分析
- pyedgar:Python库简化EDGAR数据交互与文档下载
- Node.js环境下wfdb文件解码与实时数据处理
- phpcms v2.2企业级网站管理系统发布
- 美团饿了么优惠券推广工具-uniapp源码
- 基于红外传感器的会议室实时占用率测量系统
- DenseNet-201预训练模型:图像分类的深度学习工具箱
- Java实现和弦移调工具:Transposer-java
- phpMyFAQ 2.5.1 Beta多国语言版:技术项目源码共享平台
- Python自动化源码实现便捷自动下单功能
- Android天气预报应用:查看多城市详细天气信息
- PHPTML类:简化HTML页面创建的PHP开源工具
- Biovec在蛋白质分析中的应用:预测、结构和可视化
- EfficientNet-b0深度学习工具箱模型在MATLAB中的应用
- 2024年河北省技能大赛数字化设计开发样题解析
- 笔记本USB加湿器:便携式设计解决方案