Struts 2 基础教程:Action研究与数据验证

需积分: 2 0 下载量 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支持以及丰富的标签库,为开发者提供了全面的指导。