zoukankan      html  css  js  c++  java
  • 自定义类型转换器converter

    作用:目前将日期转换成string,将string转换成我想要的类型   0509课件里讲

    一、数据类型转换
    在web应用程序中,数据存在两个方向上的转换:
    1.当提交表单时
      表单数据以字符串的形式提交给服务器,在服务器端转换成不同的Java数据类型

    2.当需要在页面显示数据时
      将不同的Java数据类型转换为对应的字符串格式显示输出

    二、Struts2内置的类型转换
    Struts2内置了常用类型的自动转换功能,支持常见数据类型与字符串之间的转换

    三、自定义类型转换
    1.编写自定义类型转换器,继承StrutsTyepConverter类
      重写convertFromString()和convertToString()方法

    2.在src下创建xwork-conversion.properties
      配置类型转换器使用规则   如下写:            

    java.util.Date=cn.bdqn.regist.converter.DateConverter

    package cn.bdqn.regist.converter;
    
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.Map;
    
    import org.apache.struts2.util.StrutsTypeConverter;
    
    import com.opensymphony.xwork2.conversion.TypeConversionException;
    
    public class DateConverter extends StrutsTypeConverter{
    	
    	private SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
    
    	//实现从字符串向目标Java对象进行转换
    	@Override
    	public Object convertFromString(Map ctx, String[] params, Class clazz) {
    		Date date=null;		
    		try {
    			date=sdf.parse(params[0]);
    		} catch (ParseException e) {
    			//抛出TypeConversionException,向Struts2报告类型转换错误
    			throw new TypeConversionException(e);
    		}		
    		return date;
    	}
    	
    	
    	//实现从Java对象向字符串转换
    	@Override
    	public String convertToString(Map ctx, Object object) {
    		Date date=(Date)object;		
    		return sdf.format(date);
    	}
    
    }
    
  • 相关阅读:
    Exchange 2016与国内版O365混合部署(1):过程总览
    Office365与本地Exchange混合部署之邮件流介绍详情
    清理Exchange 2013和2016的Log文件(精华)
    Exchange2016日志路径
    C:/inetpub/logs/logfile/路径详解
    使用VMwareVCenterConverter迁移到虚拟机(p2v)
    WindowsServer安全基线
    利用WSUS部署更新程序
    Storefront与NetScaler的集成配置
    运维技巧(13):Exchange证书申请导入
  • 原文地址:https://www.cnblogs.com/Angelinas/p/5528738.html
Copyright © 2011-2022 走看看