Struts2高级应用:框架校验与类型转换

需积分: 0 0 下载量 57 浏览量 更新于2024-08-17 收藏 2.03MB PPT 举报
"本讲主要探讨Struts框架的高级应用,包括Struts2的类型转换、输入校验、文件上传下载、拦截器机制以及在MyEclipse中的实战应用。重点聚焦于不同方法的校验机制,特别是Struts2的类型转换策略。" 在Struts2的类型转换中,由于Web环境的特性,所有的输入和输出数据最初和最终都以字符串形式存在。然而,在服务器端处理这些数据时,通常需要将它们转换为特定的类型。Struts2的类型转换机制是基于XWork库的,能够自动处理基本类型的数据转换,例如从字符串到整型、日期型等的转换。Struts2内建了多种类型的双向转换,如String到各种基本类型,以及日期到字符串的转换。 对于复杂类型的转换,Struts2依赖于OGNL(Object-Graph Navigation Language)来处理。当Action中定义了复合类型的对象,并在JSP页面通过OGNL表达式访问时,Struts2能够自动处理这些对象的转换。例如,可以通过`user.username`这样的表达式直接访问和操作对象属性。 然而,有时内置的转换器可能无法满足所有需求,这时就需要自定义类型转换器。自定义转换器有两种注册方式:局部类型转换和全局类型转换。局部转换只针对特定Action的一个或多个属性,而全局转换则对所有Action中特定类型的属性生效。 制作局部类型转换器,首先要创建一个自定义转换类,可以继承`DefaultTypeConverter`并重写`convertValue`方法,或者继承`StrutsTypeConverter`并覆盖`convertFromString`和`convertToString`方法。然后,在与Action同目录下创建一个名为`Action类名-conversion.properties`的配置文件,文件内容指定属性名和对应的转换器类名。 全局类型转换器的创建过程类似,但其配置需要在全局配置文件中完成,这样转换器对所有Action的特定类型属性都有效。这允许开发者更灵活地处理复杂的数据转换需求,确保Struts2应用程序能够正确处理各种输入数据,提供更加健壮和安全的服务。 Struts2的类型转换和校验机制是其高级应用的重要组成部分,提供了强大的数据处理能力,既方便了开发,又保证了应用的稳定性和安全性。通过理解并熟练掌握这些机制,开发者可以更好地利用Struts2构建高效的企业级Web应用。