一、概述
在B/S应用中,将字符串请求参数转换为相应的数据类型,是MVC框架提供的功能,而Struts2是很好的MVC框架实现者,理所当然,提供了类型转换机制。
Struts2的类型转换是基于OGNL表达式的,只要我们把HTML输入项(表单元素和其他GET/POET的参数)命名为合法的OGNL表达式,就可以充分利用Struts2的转换机制。
除此之外,Struts2提供了很好的扩展性,开发者可以非常简单的开发自己的类型转换器,完成字符串和自定义复合类型之间的转换。总之,Struts2的类型转换器提供了非常强大的表现层数据处理机制,开发者可以利用Struts2的类型转换机制来完成任意的类型转换。
二、实现自定义类型转换器
实现TypeCoverter接口,或者继承DefaultTypeConverter实现类(该类实现了TypeCoverter接口),通过继承该实现类来实现自己的类型转换器。重写convertValue方法即可。
为了简化类型转换器的实现,Struts2提供了一个StrutsTypeConverter抽象类,这个抽象类是DefaultConverter的子类。实现了方法,并提供了2个不同转换方向的方法:Object
convertToString(Map context,String[] values,Class toClass)和String convertFromString(Map context,Object o)。
三、注册应用
实现了自定义类型转换器之后,将该类型转换器注册在Web应用中,Struts2框架才可以正常使用该类型转换器。
关于类型转换器的注册方式,主要有3中:
A、注册局部类型转换器:仅仅对某个Action的属性起作用。
B、注册全局类型转换器:对所有Action的特定类型的属性都会生效。
C、使用JDK1.5的注释来注册类型转换器:通过注释方式来生成类型转换器。
1、局部类型转换器
提供如下格式的文件
文件名: ActionName-conversion.properties
内容:多个propertyName(属性名)=类型转换器类(含包名),如 date=com.aumy.DateConverter
存放位置:和ActionName类相同路径。
2、全局类型转换器
提供如下格式的文件
文件名: xwork-conversion.properties
内容:多个“复合类型=对应类型转换器”项组成,如 java.Util.Date=com.aumy.DateConverter
存放位置:WEB-INF/classes/目录下。
分享到:
相关推荐
MapInfo通用转换器是一款专为地图数据处理设计的工具,其主要功能是帮助用户将不同格式的地图数据进行互换和转换,以便在各种GIS(地理信息系统)软件中使用。这款软件支持多种常见的地图数据格式,如Shapefile、Geo...
PDF转换器是专门设计用来处理这种格式的工具,它可以将PDF文件转换为其他文档格式,如Microsoft Word(DOC或DOCX),反之亦然。这样的转换器通常包含了高级的文本识别(OCR)技术,使得即便是扫描的或图像形式的PDF...
标题 "Project2003-2007转换器" 暗示了这是一个软件工具,主要用于将Microsoft Project 2003格式的文件转换为Project 2007的格式,或者反之亦然。在Microsoft Project中,不同的版本可能支持不同的文件格式,这可能...
总的来说,FME转换器手册为用户提供了关于FME转换器的全面概览,用户可以通过阅读本手册来了解如何使用FME Workbench,以及如何通过转换器来完成数据转换任务。无论是新手还是有经验的用户,都可以通过手册中的指导...
【金手指转换器】是一种工具,它主要用于游戏爱好者在不同平台之间转换或管理游戏的“金手指”代码。金手指,源自英文“Game Genie”,是游戏修改的一种方式,通过输入特定的代码来改变游戏中的参数,如生命值、分数...
### mp3转换器概述 首先,我们需要了解什么是mp3转换器。mp3转换器是一种用于将不同音频格式转换为mp3格式(或其他格式)的工具或软件。这种类型的工具在日常生活中非常实用,尤其是在处理多种音频文件格式时。它们...
PDF格式转换器是一种工具软件,专门设计用于将PDF(Portable Document Format)文件转换为Word(Microsoft Word)文档格式。PDF格式是由Adobe Systems公司开发的,主要用于保持文档的原始布局和样式,而Word文档则...
随着集成电路的飞速发展,A/D转换器的新设计思想和制造技术层出不穷。为满足各种不同的检测及控制需要而设计的结构不同、性能各异的A/D转换器应运而生。 根据A/D转换器的原理可将A/D转换器分成两大类...
标题中的“日本语片假名转换器japanhr”指的是一个专门用于将日本语中的当用汉字转换为片假名的软件工具。片假名是日本书写系统的一部分,由音节符号组成,常用于表示外来词、拟声词以及强调某个词的部分。这种转换...
迅捷PDF转换器是一款功能强大的文件格式转换工具,主要用于处理PDF文档与其他文件格式之间的转换。在6.9离线安装版中,用户无需联网即可进行安装和使用,这对于那些网络环境不稳定或者对在线操作有安全顾虑的用户来...
Spring Boot默认提供了多种消息转换器,如FastjsonHttpMessageConverter、Jackson的MappingJackson2HttpMessageConverter等。然而,在某些特定场景下,我们可能需要自定义消息转换器来满足特定的序列化或反序列化...
FME2018转换器参考手册 本参考手册主要对FME Workbench、FME Data Inspector和所有转换器进行了概括总结。FME Workbench是一个强大的工具,可以进行数据转换、分享、变换、质检以及整合。Workbench中的对象是以图形...
《信诺诚多轴NC转换器6.0:解析与应用》 NC转换器,全称为Numerical Control Converter,是一种专业工具,用于将不同数控系统(CNC)的编程语言或G代码格式进行转换,以适应不同的机床或控制系统。信诺诚多轴NC转换...
PDF转换器是一款强大的工具,专为用户解决PDF文档与其他格式之间的转换问题。在这个特定的版本——Ver1.0中,它提供了丰富的转换选项,能够帮助用户将PDF文档转化为多种常用的办公格式,如Microsoft Word(DOC)、...
MP3转换器是一种实用工具,专门用于将各种音频格式转换为MP3格式。这款软件具有高效、快速的特点,能够帮助用户轻松地处理音频文件的格式转换需求,确保在转换过程中保持高质量的音频输出。 MP3作为最常见的数字...
Word转换成PDF转换器转换Word到PDF是容易的,但你需要一个有效,并且能支持各种Word各种版本功能强大的Word转换成Adobe PDF最佳解决方案。 Word转换成PDF转换器就能让你转换各种Word版本到PDF。它支持Word 2010 (Docx...
PDF转换成Word转换器是一种工具,它允许用户将原本以PDF格式存储的文档转换成可编辑的Word文档。PDF(Portable Document Format)是一种常见的文件格式,用于保存文档的布局和内容,但通常不便于编辑。而Word文档(....
波长转换器是一种关键的光学器件,主要用于光通信系统,特别是波分复用(WDM)系统中。它能够将光信号从一个特定的波长转换到另一个波长,极大地提升了网络的灵活性和效率。这一功能对于实现多通道数据传输、光信号...
诺成NC转换器4.0是一款专为CNC(计算机数控)设备设计的软件工具,主要用于将不同的数控代码格式进行转换,以便在不同类型的数控机床或控制系统上运行。这款转换器可能支持G代码(RS-274)和其他常见的数控语言,...
FME 软件中转换器英文说明对照 FME 软件中转换器(Transformer)功能简介 FME 软件中转换器是将数据从一种格式转换为另一种格式的工具, Transformer 是 FME 软件中最重要的组件之一。 Transformer 的主要功能是将...