struts2 转换器

转换器可解决的问题:输入界面 或 输出界面   与对象 或 数据库数据类型不一致时或者格式不一致时

例如:输入一个身份证号,自动解析出生日期或其他信息

自定义转换器需要两个步骤:

1、做一个类,继承  StrutsTypeConverter

package com.maya.util;

import java.util.Map;

import org.apache.struts2.util.StrutsTypeConverter;

import com.itnba.maya.model.Student;

public class StudentConverter extends StrutsTypeConverter {

    @Override
    public Object convertFromString(Map arg0, String[] arg1, Class arg2) {
        String str = arg1[0];    
        String nian = str.substring(6, 10);
        String yue  = str.substring(10, 12);
        String ri   = str.substring(12, 14);
        
        String shengri= nian + "年"+ yue + "月" + ri + "日";
        
        return shengri;
    }

    @Override
    public String convertToString(Map arg0, Object arg1) {

        return null;
    }

}

2、全局转换:在src根下,建立xwork-conversion.properties文件。配置好实体类与转换类的二者完全限定名对应关系。(文件名必须是这个,不能改变)

com.maya.model.ceshi=com.maya.util.ZhuanHuanQi

//当调用这个实体类时,就调用这个转换器

  局部转换:在action的包里面,建立 Action类名 -conversion.properties文件(ZhuanHuanAction -conversion.properties)配置好成员变量与转换类的对应关系。

stu=com.itnba.maya.util.ZhuanHuanQi
原文地址:https://www.cnblogs.com/zhaotiancheng/p/6582849.html