`

011 - 自定义converter

 
阅读更多

1. 自定义converter

1) 从DefaultTypeConverter继承,重写convertValue()方法

public class MyPointConverter extends DefaultTypeConverter{

 

    @Override

    public Object convertValue(Object value, Class toType) {

       if(toType == Point.class) {

           Point p = new Point();

           String[] strs = (String[])value;

           String[] xy = strs[0].split(",");

           p.x = Integer.parseInt(xy[0]);

           p.y = Integer.parseInt(xy[1]);

           return p;

       }

       if(toType == String.class) {

           return value.toString();

       }

       return super.convertValue(value, toType);

    }

 

}

 

 

 

2) 从StrutsTypeConverter继承,重写convertFromString()和convertToString()方法

 

//MyPointConverter.java

 

 

public class MyPointConverter extends StrutsTypeConverter{

 

     public Object convertFromString(Map context, String[] values, Class toClass) {

       

           Point p = new Point();

           String[] strs = (String[])values;

           String[] xy = strs[0].split(",");

           p.x = Integer.parseInt(xy[0]);

           p.y = Integer.parseInt(xy[1]);

           return p;

     }

 

 

    public String convertToString(Map context, Object o) {

           return o.toString();

    }

 

} 

 

 

2. 注册方式:

   1)局部:XxxAction-conversion.properties(与XxxAction放一起,-conversion.properties是固定的)

   内容:p(Action的属性名称) =  converter    (如:p=edu.ray.converter.MyConverter)

      

   2)全局:xwork-conversion.properties(放到src目录下,同样,-conversion.properties是固定的)

内容:com.xxx.XXX(类名)= converter  (如:edu.ray.model.Point=edu.ray.converter.MyConverter)

 

 

3. 参数传递

 

如:

Map :   userMap['key']=value

List  :   users[0].name=XXX

Point:   p=2,3 & p=3,5

 

 

分享到:
评论

相关推荐

    VMware-converter-all-5.0.0-470252

    VMware-converter-all-5.0.0-470252是一款备受赞誉的工具,专为虚拟化领域的专业人士设计。该版本以其高度的稳定性而著称,能够有效地将多种类型的虚拟机(如ESXi和Workstation)进行转换,从而在不同平台之间实现...

    VMware-converter-6.2.0.zip

    在实际操作中,使用"VMware-converter-en-6.2.0.exe"文件开始安装和运行Converter Standalone客户端。按照向导指示,指定源(物理服务器或虚拟机)、目标位置(vSphere环境)和转换选项,然后启动转换过程。转换完成...

    SSM笔记-自定义类型转换器

    在SpringMVC中,`Converter`接口和`ConverterFactory`接口是用于实现自定义类型转换的核心。当你注册一个实现了`Converter, T>`接口的类到SpringMVC的转换服务中,SpringMVC会自动使用这个转换器来将类型S转换为类型...

    PDF-to-Word-converter

    4. 设置转换选项:根据需求,可能需要自定义转换设置,如是否保留图片、表格等元素,以及转换后的页面范围。 5. 开始转换:确认所有设置无误后,点击“开始转换”或“转换”按钮,软件将开始处理PDF文件。 6. 保存...

    T&B-PDFConverter-R07-US-Cnet.rar

    "T&B-PDFConverter-R07-US-Cnet.rar" 提供了一种解决方案,它是一个专门设计用于PDF到Word转换的工具。 该工具的核心功能是将PDF文件的全部内容准确地转换成Word文档(.doc或.docx格式),保留原有的文本、图片、...

    WPF-自定义Calendar样式,动态切换中英文并自定义文字

    本文将展示如何通过使用值转换器(Value Converter)来实现这一功能。值转换器是一种能够在XAML和后台代码之间进行数据类型转换的中间件,它可以根据当前的语言设置来转换日历控件中的内容。 在实现中英文切换功能...

    VSO 蓝光转换器 Blu-ray Converter Ultimate 4.0.0.91 中文多语免费.zip

    自定义配置文件:创建具有最适合您的编码译码器、分辨率及位率的个人配置文件。 为MKV及AVI文件设定的Remux配置文件 多角度支持 章节支持:保持原始章节或创建新章节 音频加强功能 字幕可表现为DVDsub格式或硬编码...

    Total-media-converter

    - **自定义设置**:用户可以根据需求调整输出文件的分辨率、比特率、帧率等参数,以适应不同设备的播放需求。 - **章节选择**:软件允许用户选择特定的DVD章节进行转换,无需将整个光盘内容转码,节省时间和存储...

    waifu2x-converter-cpp.zip

    《waifu2x-converter-cpp:二次元图像无损放大技术详解》 waifu2x-converter-cpp是一款基于C++实现的开源项目,它主要用于对二次元图像进行无损放大处理。该项目深受广大动漫爱好者及图像处理人士的喜爱,其高效、...

    Laravel开发-laravel-schema-converter

    除了基本的模型转换,`laravel-schema-converter`还可能支持一些高级特性,如转换软删除(soft deletes)、时间戳(timestamps)、填充(fillable)和隐藏(hidden)属性,以及自定义的迁移类。在实际使用中,务必...

    aiqi-all-audio-converter

    "aiqi-all-audio-converter" 是一个专用于音频转换的工具,可能是一个软件应用程序,设计用于帮助用户将不同格式的音频文件转换成他们需要的其他格式。在IT领域,音频转换器是一种常见的实用工具,它能够处理各种...

    softe-ogg-converter

    3. **自定义设置**: 可能允许用户调整输出的OGG文件的比特率、采样率和声道数,以平衡音质和文件大小。 4. **快速转换**: 由于优化的算法,"softe-ogg-converter"可能在保持高质量的同时实现快速的转换速度。 5. **...

    VMWARE converter6.2.0 最新实体机转虚拟化

    3. **网络配置**:在转换过程中,用户可以自定义虚拟机的网络设置,如桥接、NAT或仅主机模式。 4. **存储选择**:允许用户指定目标虚拟机的存储位置和类型,如数据存储、本地磁盘或网络共享。 5. **定制化选项**:在...

    Laravel开发-laravel-number-converter

    要在Laravel项目中使用`laravel-number-converter`,首先需要通过Composer进行安装,接着在`config/app.php`中注册服务提供者,并可选地配置任何自定义设置。之后就可以在控制器、视图或模型等任何地方使用它提供的...

    PyPI 官网下载 | large-image-converter-1.7.2.dev18.tar.gz

    首先,我们来看一下大型图像转换器的最新版本——`large-image-converter-1.7.2.dev18.tar.gz`。这个文件名表示这是一个版本号为1.7.2开发版18的归档文件,格式为tar.gz,这是一种常见的源代码打包方式,通常包含...

    Bat-To-Exe-Converter v3.0

    Bat-To-Exe-Converter v3.0是一款实用的计算机软件,主要用于将批处理脚本文件(扩展名为.bat)转换为可执行文件(扩展名为.exe)。这一工具在自动化脚本与批量处理任务方面提供了一个便捷的解决方案,使得原本需要...

    debezium-datetime-converter:Debezium自定义转换器用于处理mysql datetime类型的问题

    debezium-datetime-converter Debezium自定义转换器用于处理mysql datetime类型的问题 MySQL的 Binlog连接器 德比兹 德比兹图式 日期(2021-01-28) 本地日期(2021-01-28) 整数(18655) 碘化氢时间日期 时间...

    Atom-atom-css-unit-converter,在不同的css单位之间执行转换。对sethlopezme/atom的贡献.zip

    3. **快捷键支持**:插件可能支持自定义快捷键,使转换操作更加便捷。 4. **批量转换**:如果需要更改整个CSS文件或某个规则集中所有单位,插件可能提供批量转换功能。 5. **单位选择**:用户可以指定需要转换到的...

    e-PDF To Word Converter(pdf转word)

    - 对于包含大量复杂图形和自定义字体的PDF,转换效果可能会有所降低。 ### 5. 替代工具与比较 除了e-PDF To Word Converter,市面上还有其他类似的工具,如Adobe Acrobat、Nitro Pro、PDFtoWord Converter等。它们...

    Converter-cn编码工具

    Converter-cn编码工具是一款专为解决CTF(Capture The Flag,网络安全竞赛)比赛中常见的编码转换问题而设计的应用。在CTF赛事中,参赛者经常会遇到各种加密、编码和哈希技术的挑战,因此拥有一个功能强大的编码转换...

Global site tag (gtag.js) - Google Analytics