上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
第4章 Struts 2的类型转换
本章要点
表现层数据处理
类型转换的作用
Struts 2内建的类型转换器
基于OGNL表达式的类型转换
集合属性的类型转换
Struts 2类型转换的集合和Map支持
基于OGNL基类实现类型转换器
局部类型转换器和全局类型转换器
基于Struts 2的类型转换器
集合类型转换的高级特性
类型转换的错误处理
输出类型转换中的错误提示
所有的MVC框架,都属于表现层的解决方案,都需要负责收集用户请求参数,并将请求参数传给应用的控制器组件。此时问题出现了,所有的请求参数都是,也只能是字符串数据类型,但 Java 是强类型语言,因此 MVC 框架必须将这些字符串请求参数转换成相应的数据类型——这个工作是所有的MVC框架都应该提供的功能。
Struts 2提供了非常强大的类型转换机制,Struts 2的类型转换是基于OGNL表达式的,只要把HTML输入项(表单元素和其他GET/POST的参数)命名为合法的OGNL表达式,就可以充分利用Struts 2的类型转换机制。
除此之外,Struts 2提供了很好的扩展性,开发者可以非常简单地开发出自己的类型转换器,完成字符串和自定义复合类型之间的转换(例如,完成字符串到Person实例的转换)。如果类型转换中出现未知异常,类型转换器开发者无须关心异常处理逻辑,Struts 2 的conversionError拦截器会自动处理该异常,并且在页面上生成提示信息。总之,Struts 2的类型转换器提供了非常强大的表现层数据处理机制,开发者可以利用Struts 2的类型转换机制来完成任意的类型转换。