Struts 2.x权威指南
上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的类型转换机制来完成任意的类型转换。