实现自定义类型转换器
实现TypeConverter接口,或者继承DefaultTypeConverter实现类(该类实现了TypeConverter接口),通过继承该实现类来实现自己的类型转换器。重写convertValue方法即可。
为了简化类型转换器的实现,Struts2提供了一个StrutsTypeConverter抽象类,这个抽象类是DefaultConverter的子类。实现了方法,并提供了2个不同转换方向的方法:
Object convertToString(Map context,String[] values,Class toClass)和String convertFromString(Map context,Object o)。
注册应用
实现了自定义类型转换器之后,将该类型转换器注册在Web应用中,Struts2框架才可以正常使用该类型转换器。
关于类型转换器的注册方式,主要有一下几种:
A、注册局部类型转换器:仅仅对某个Action的属性起作用。
B、注册全局类型转换器:对所有Action的特定类型的属性都会生效。
1、局部类型转换器
提供如下格式的文件
文件名: ActionName-conversion.properties
内容:多个propertyName(属性名)=类型转换器类(含包名),如 date=com.aumy.DateConverter
存放位置:和ActionName类相同路径。
2、全局类型转换器
提供如下格式的文件
文件名: xwork-conversion.properties
内容: 多个“复合类型=对应类型转换器”项组成,如 java.Util.Date=com.aumy.DateConverter
存放位置:WEB-INF/classes/目录下。
User.java
UserAction.java
UserConvert.java
UserAction-conversion.properties
struts.xml
- 大小: 15.9 KB
分享到:
相关推荐
### Struts2自定义类型转换:深入解析与实践 #### 引言 在Web开发中,数据类型转换是一项常见的需求,特别是在用户输入的数据与后端处理的数据类型不一致时。Struts2框架提供了强大的类型转换机制,允许开发者...
### Struts自定义类型转换器 #### 一、概述 在Web开发中,表单提交的数据通常是字符串形式的,而在业务逻辑处理时往往需要将这些数据转换为其他类型的对象(如日期、数字等)。Struts框架为了更好地处理这种类型...
Struts2是一个强大的MVC框架,它在处理用户请求时涉及到数据类型的转换,这在处理复杂的表单数据或者自定义对象时尤其重要。本篇文章将详细介绍如何在Struts2中进行配置与自定义类型转换。 首先,Struts2的配置主要...
Struts2是一个流行的Java web开发...总之,Struts2的类型转换机制为开发者提供了强大的灵活性和便利性,不仅可以处理基本类型,还能方便地扩展以支持自定义类型和复杂数据结构的转换,从而简化了Web应用的开发工作。
标签中的“源码”可能意味着博客会深入到Struts2框架的源代码中,解释类型转换器的工作原理和如何根据源代码实现自定义转换器。而“工具”可能指的是使用Struts2提供的工具类或API来辅助类型转换。 在`Struts2_3500...
Struts2提供了两种主要的方式来实现自定义类型转换器: ##### 1. 基于OGNL的类型转换器 - **TypeConverter接口**:这是所有类型转换器都需要实现的一个接口。它定义了一个`convertValue`方法,该方法接收一些必要...
要创建一个自定义的类型转换器,你需要实现`org.apache.struts2.convention.converters.Converter`接口或继承`org.apache.struts2.util.StrutsTypeConverter`类。`StrutsTypeConverter`类提供了很多便利方法,可以...
总的来说,Struts2的类型转换机制为开发者提供了灵活的输入数据处理方式,既可以利用内置转换,也可以自定义转换器以适应复杂的业务场景。正确理解和使用这一机制,可以提高代码的可维护性和用户体验,确保数据的...
总之,Struts2的类型转换机制提高了开发效率,通过自定义转换器,我们可以灵活地处理各种数据类型,确保用户输入能够正确地转换为应用程序可处理的形式。`MyTypeConverter`这个文件可能就是你为特定需求创建的一个...
自定义转换器使得Struts框架更加灵活,能够处理复杂或特殊的数据类型,提高了代码的可维护性和用户体验。通过编写自定义转换器,开发者可以确保数据转换过程符合业务规则,减少因类型不匹配导致的错误。在实际开发中...
struts4 使用Struts2中内部类中的方法进行自定义类型转换,用到的类StrutsTypeConverter struts5 增加集合类型,使用范型 struts6 直接设置要进行类型转换的字段值 struts7 制作一个表单,对表单中的内容进行...
在Struts2中,类型转换是通过`StrutsTypeConverter`类实现的,这个类是Struts2框架提供的一种机制,使得开发者能够自定义输入数据到Java对象的转换规则。当用户通过表单提交数据时,Struts2会尝试将这些数据自动转换...
在Struts2中,我们可以自定义转换器处理这类情况。例如,用户可能提交一个包含多个值的数组或列表,我们需要将这些值转换为特定的类型。这时,我们可以创建一个转换器处理这种类型的集合,然后在配置文件中声明。 ...
为了让Struts2使用我们的自定义转换器,需要进行配置。有两种配置方式: - **局部配置**:创建一个名为`Actionname-conversion.properties`的文件,其中`Actionname`是你的Action类名,文件内容为`属性=类型转换器...
- 另一种创建自定义类型转换器的方式是继承`org.apache.struts2.util.StrutsTypeConverter`抽象类。这种方式更易于实现,因为`StrutsTypeConverter`已经实现了基本的类型转换逻辑,只需要重写`convertFromString`和...
1. 创建转换器类:继承`org.apache.struts2.util.StrutsTypeConverter`类,并重写其`convertFromString`和`convertToBean`方法。这两个方法分别用于将字符串转换为日期对象,以及将日期对象转换为字符串。 ```java ...
Struts2的时间日期转换器(`StrutsTypeConverter`实现)默认支持多种日期格式,例如"yyyy-MM-dd"、"MM/dd/yyyy"等。当用户在表单中输入日期数据时,Struts2会尝试根据配置的日期格式将这些数据转换为日期对象。如果...
Struts2提供了一个基础类org.apache.struts2.util.StrutsTypeConverter,它简化了转换器的实现。通过扩展这个类,开发者可以轻松地创建自己的类型转换器,以处理特定对象到字符串或字符串到特定对象的转换。 7.1.3 ...
自定义转换器通过实现Struts2的TypeConverter接口,或者继承DefaultTypeConverter类来实现。你需要重写`convertValue()`方法,根据实际需求进行转换。注册自定义类型转换器有三种方式:局部类型转换器、全局类型转换...
当需要转换的类型不在这些预定义范围内时,Struts2允许自定义类型转换器。 **自定义类型转换器** 自定义类型转换器是继承自`StrutsTypeConverter`抽象类的类,需要重写`convertFromString`和`convertToString`两个...