1

我在我的应用程序中使用 Struts 2 dojo datetimepicker。如何将我的操作类String类型属性(来自 datetimepicker 的值)转换为 SQL datetime,以便可以将值保存在 SQL 表中?如果可能,请提供示例代码。

4

1 回答 1

2

您必须创建一个类型转换器。这是一个从 StrutsTypeConverter 扩展而来的类。

public class MyConverter extends StrutsTypeConverter{
    //this method converts received object into String
    public String convertToString(Map map, Object object){
        if(object instanceof Date){
            Date date = (Date) object;
            java.text.SimpleDateFormat simpleDateFormat = new java.text.SimpleDateFormat("dd-MM-yyyy");
            return simpleDateFormat.format(date);
        }
        return null;
    }

    //this method convert the received String into a 
    public Object convertFromString(Map map, String[] values, Class clazz) {
        if (values != null && values.length > 0) {
            return parseValue(values[0]);
        }
        return null;
    }
    //this method do the conversion
    public Date parseValue(String value) {
        value = value.trim();
        try {
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MM-yyyy");
            return simpleDateFormat.parse(value);
        } catch (Exception e) {
            return null;
        }
    }
}

创建转换器类后,需要创建一个属性文件,该文件的名称必须遵循以下模式:

NameOfYourAction-conversion.properties 

这必须放在您的操作所在的位置。在里面,您必须输入要转换的字段的名称和转换器的名称,如下所示:

myfield = com.app.converter.MyConverter

这样,Struts 就会自动进行转换。

无论如何,这是文档

问候。

于 2013-11-04T22:51:39.593 回答