Struts 教程

340 阅读4分钟

Struts 1.x是最著名、最经典和经过验证的模型-视图-控制器 (MVC) 框架。很多时候,你会听到类似的东西,学习 Struts 1.x 毫无意义,它是一个死框架。然而,随着早期 Struts 1.x 的巨大成功,仍有数十万家公司在实施 Struts 1.x,并且从不考虑升级,因此 Struts 1.x 仍然造成许多可维护性。

Struts 1.x 是一个完整的 web 框架,提供了完整的 web 表单组件、验证器、内部化、错误处理、tile 布局,学习曲线低且易于实现。在本教程中,它提供了许多关于使用 Struts 1.x MVC 框架的分步示例和说明。

快乐学习 Struts。

Struts 快速入门

让我们快速开始了解 Struts 1.x 框架。

  • Struts hello world 示例
    Go 想到了一个 hello world 示例来了解 Struts MVC 是如何工作的。

Struts 配置

关于 Struts 配置的所有内容。

  • 配置 Struts 标签库
    要使用 Struts,您必须手动或自动配置 Struts 标签库属性。
  • 在 Struts 中
    配置欢迎页面 在 Struts 中配置欢迎页面。
  • 多个 Struts 配置文件
    大型项目环境需要多个 Struts 配置文件,这里以一个示例来说明如何配置多个 Struts 配置文件。
  • 支持通配符的 Struts 配置文件
    如果您的项目遵循某些标准文件结构,通配符是一个有用的功能,可以减少 Struts 配置文件中的重复代码。

Struts Action & ActionForm

Action 和 ActionForm 实现类。

  • ForwardAction 示例
    允许您直接访问 JSP 类,而无需通过控制器类。
  • DispatchAction 示例
    允许您将所有相关函数分组到单个操作类中。
  • MappingDispatchAction 示例
    与 DispatchAction 相同,将相似的功能分组到单个动作类中,但机制不同
  • DynaActionForm 示例
    允许您以声明方式创建虚拟表单 bean,以提高开发速度。

Struts Web 表单组件

Struts 完全支持所有标准的 Web 表单组件。

  • 文本框示例
    Struts html:text 文本框示例。
  • 隐藏值示例
    Struts html:hidden 隐藏值示例。
  • 单选选项示例
    Struts html:radio 单选选项示例。
  • 下拉框示例
    Struts html:select 下拉框示例。
  • 复选框示例
    Struts html:checkbox 复选框示例。
  • 文件上传示例
    Struts html:file 文件上传示例。
  • TextArea 示例
    Struts html:textarea textaread 示例。
  • 重写示例
    Struts html:rewrite 示例,呈现请求的 URI,无需创建超链接,用于生成 JavaScript 和 CSS 文件。

Struts 逻辑标签

Struts 附带了很多逻辑标签来简化 bean 组件的迭代或条件处理。

Struts 错误和日志记录

异常处理和错误记录。

  • 自定义异常处理程序
    Struts 向用户显示自定义错误页面。
  • Struts + Log4j 集成
    将 Struts 与 Log4j 日志框架集成以记录系统异常和错误。
  • 处理 Struts 中的 404 错误
    处理 Struts 中的经典 404 错误页面。

Struts 本地化

Struts 在国际化或本地化方面有很好的支持。

  • Struts 国际化或本地化示例
    一个简单的用户登录示例,所有消息和错误消息都已本地化。

Struts 验证器框架

在 Struts 验证器框架中,它提供了许多通用方法(required、maxlength、minlength..)来验证表单组件,它使您的验证代码更加标准化并且更易于维护。

  • Struts 验证器示例
    一个简单的用户注册表单,并使用 Struts 验证器验证用户名、密码和电子邮件字段。

Struts Tiles 框架

Struts tile 框架是一个强大的布局框架,用于在所有网页中保持页眉、页脚或菜单细节的标准外观。

  • Struts Tiles 框架示例
    一个简单的 Web 应用程序,演示如何使用 Struts tile 框架轻松更改页眉和页脚。

Struts 与其他框架集成

关于 Struts 与其他框架集成的任何内容。

  • Struts + Spring 集成
    将 Struts 与 Spring 框架集成的示例。
  • Struts + Hibernate 集成
    将 Struts 与 Hibernate 框架集成的示例。
  • Struts + Spring + Hibernate 集成
    将 Struts 与 Spring 和 Hibernate 框架集成的示例。
  • Struts + Quartz 调度程序集成
    将 Struts 与 Quartz 框架集成的示例。
  • Struts + Spring + Quartz 调度程序集成
    将 Struts 与 Spring 和 Quartz 框架集成的示例。

支柱杂项

其他 Struts 示例。

  • 从网站下载文件示例
    如何在 Struts 中从网站下载文件。

Struts 常见错误

一些 Struts 常见的错误信息。

  • 绝对 uri: struts.apache.org/tags-bean 无法在 web.xml 或随此应用程序部署的 jar 文件中解析
  • java.lang.ClassNotFoundException: org.apache.struts.action.ForwardAction
  • 在 org.apache.struts.action.MESSAGE 键下找不到消息资源
  • java.lang.NoClassDefFoundError:org/apache/commons/fileupload/FileUploadException
  • java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream
  • xml解析异常
  • NoSuchMethodError : Digester.parse(Ljava/net/URL;)Ljava/lang/Object

Struts 参考

需要学习更多Java资料 关注博主,私聊博主免费获取