1、格式转换
package com.ljl.human.utils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.commons.beanutils.Converter;
public class MyConverter implements Converter {
//初始化需要格式化数据的这个转换类
SimpleDateFormat[] fomat= {
new SimpleDateFormat("yyyy-MM-dd"),
new SimpleDateFormat("yyyy年MM月dd日"),
new SimpleDateFormat("yyyy/MM/dd")
};
@Override
public Object convert(Class clazz, Object val) {
//将数据转换成字符串的格式
String val1=(String) val;
//首先判断转换的类对不对
if(clazz!=Date.class) {
return null;
}
if(val==null||val1.equals("")) {
return null;
}
for (int i = 0; i < fomat.length; i++) {
try {
return fomat[i].parse(val1);
} catch (ParseException e) {
continue;
}
}
return null;
}
}
2、将表单请求的数据实现自动封装
package com.ljl.human.utils;
import java.lang.reflect.InvocationTargetException;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.beanutils.Converter;
/**
* 将表单请求的数据实现自动封装
*/
public class ObjectWrapperUtils {
public static <T> T getObject(HttpServletRequest request,Class clazz) throws InstantiationException, IllegalAccessException, InvocationTargetException{
//步骤:获取要封装的对象
T t=(T) clazz.newInstance();
ConvertUtils.register( new MyConverter(),Date.class);
BeanUtils.populate(t, request.getParameterMap());
return t;
}
}