Struts 2 自定义类型转换器

Struts 2 自定义类型转换器
package  org.rw.commons.util;

import  java.text.DateFormat;
import  java.text.SimpleDateFormat;
import  java.util.Date;
import  java.util.Map;

import  org.apache.struts2.util.StrutsTypeConverter;

/** */ /**
 * 
 * <p>
 * Title:[自定义日期转化类]
 * </p>
 * <p>
 * Description: [把字符串转化成日期或把日期转化成字符串]
 * </p>
 * <p>
 * Copyright 2009 Huyvanpull Co., Ltd.
 * </p>
 * <p>
 * All right reserved.
 * </p>
 * 
 * 
@version 1.0
 * 
 * <p>
 * Created by [Huyvanpull] [Mar 26, 2009]
 * </p>
 * <p>
 * Midified by [修改人] [修改时间]
 * </p>
 * 
 
*/

public   class  DateConverter  extends  StrutsTypeConverter
{
    
    
/** *//** 默认的日期转换格式 */
    
public static final String DEFAULT_DATE_FORMAT = "yyyy-MM-dd HH:mm";
    
    
/** *//** 可接受的日期格式 */
    
public static final DateFormat[] ACCEPT_DATE_FORMATS = {
            
new SimpleDateFormat(DEFAULT_DATE_FORMAT),
            
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"),
            
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS") }
;
    
    @SuppressWarnings(
"unchecked")
    
public Object convertFromString(Map context, String[] values, Class toClass)
    
{
        
if (values[0== null || values[0].trim().equals(""))
        
{
            
return null;
        }

        
/** *//** 尝试从默认值开始转换 */
        
for (DateFormat format : ACCEPT_DATE_FORMATS)
        
{
            
try
            
{
                
return format.parse(values[0]);
            }

            
catch (Exception e)
            
{}
        }

        
return null;
    }

    
    @SuppressWarnings(
"unchecked")
    
public String convertToString(Map context, Object o)
    
{
        
if (o instanceof Date)
        
{
            
try
            
{
                
return ACCEPT_DATE_FORMATS[0].format((Date) o);
            }

            
catch (RuntimeException e)
            
{
                
return "";
            }

        }

        
return "";
    }

}



局部配置方法:
QueryDataAction-conversion.properties
startTime = org.rw.commons.util.DateConverter
endTime = org.rw.commons.util.DateConverter

你可能感兴趣的:(Struts 2 自定义类型转换器)