### Struts 2.0 知识点总结 #### Struts 配置文件中的 `scope` 属性 在 Struts 应用程序中,`struts-config.xml` 文件用于配置框架的各种行为,其中包括了 ActionForm 的作用域设置。在该文档中提到的一个常见疑问是关于 `scope` 属性的默认值。 **默认值:** `session` 尽管某些开发工具如 MyEclipse 在代码提示时可能显示 `request` 作为 `scope` 的默认值,但实际上如果在配置文件中不明确指定 `scope` 值的话,默认情况下它会被设为 `session`。这意味着 ActionForm 的实例将在 HTTP Session 的范围内共享,而非每次请求都会创建一个新的实例。这种设计有利于数据的持久化和维护状态信息,但同时也需要注意避免在多用户环境中可能产生的数据混淆问题。 #### 简单 Struts 应用示例 文档中给出了一种简单的 Struts 应用实现方案,包括以下几个步骤: 1. **首页显示“添加新用户”的链接**:这是应用程序的入口,用户通过点击这个链接进入添加用户的流程。 2. **转发请求到添加用户的 JSP 页面**:当用户点击“添加新用户”链接后,服务器会将请求转发至包含用户输入表单的 JSP 页面。 3. **数据合法性检查**:在用户提交表单后,系统会进行数据合法性检查。如果所有输入都符合预定义的规则,则数据将被保存;否则,将显示错误消息,并允许用户修改输入。 4. **保存数据并返回首页**:一旦数据通过验证,将保存到文件或数据库中,并重定向回首页。 5. **错误处理**:如果数据未通过验证,则用户将返回到添加用户的页面,并看到相应的错误提示。 #### 数据验证方式 Struts 提供了多种数据验证的方式,文档中提到了两种主要的方法: 1. **使用 Struts Validator 框架** - **配置文件**:通过在 `validator-rules.xml` 文件中配置验证规则,可以实现对 ActionForm 中的数据进行自动验证。这种方式通常需要结合资源文件使用,以便提供友好的错误信息展示。 - **验证规则示例**:文档中给出了多种类型的验证规则,如 `required`(必填)、`maxlength`(最大长度)、`minlength`(最小长度)等,以及针对特定数据类型如日期、邮箱地址的验证。 2. **自定义验证**:另一种方式是在 ActionForm 类中实现自定义的验证逻辑。当验证失败时,可以通过向 `actionErrors` 集合中添加错误信息的方式来进行错误处理。如果 `actionErrors` 不为空,通常会跳转到指定的页面以展示错误信息。 #### validation.xml 示例 文档中还提供了一个 `validation.xml` 文件的简单配置示例,用于演示如何定义具体的验证规则。下面是一个关于密码长度验证的例子: ```xml <formset> <form name="UserForm"> <field property="password" depends="required,maxlength,minlength"> <arg0 key="UserForm.password"/> <var> <var-name>maxlength</var-name> <var-value>12</var-value> </var> <var> <var-name>minlength</var-name> <var-value>6</var-value> </var> </field> </form> </formset> ``` 此配置表明了对 `UserForm` 表单中 `password` 字段的验证规则:必填项、最大长度不超过12个字符、最小长度不少于6个字符。此外,还提供了电子邮件验证的配置示例,其 `depends` 属性应设置为 `email`。 通过以上总结,我们可以了解到 Struts 2.0 框架的一些核心概念和实践方法,包括配置文件的关键属性、简单的应用程序构建步骤以及数据验证的两种常用方法。这些知识点对于理解并运用 Struts 2.0 进行 Web 开发非常重要。
- 粉丝: 0
- 资源: 7
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助