第一步:自定义一个转换器,struts1中的转换器你继承自Converter。实现Converter接口,实现conver方法
第二部:自定义一个Servlet,继承自httpservlert,把写好的转换器注册进去
第三部:部署web.xml配置文件,让tomcat启动的时候加载进自定义好的servlet
例如:自定义一个转换java.util.DATE类型转换器。
1、自顶一个转换器,代码如下:(实现了Converter接口,@override了其中的convert方法)
package org.apache.convert;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.commons.beanutils.Converter;
public class UtilDateConvert implements Converter {
@Override
public Object convert(Class arg0, Object arg1) {
if(arg1 instanceof Date){
return arg1;
}
Date date = null;
if(arg1 instanceof String){
try {
date = new SimpleDateFormat("yyyy-MM-dd").parse((String)arg1);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return date;
}
}
2、注册自定好转换器UtilDateConvert,代码如下:
package org.apache.convert;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import org.apache.commons.beanutils.ConvertUtils;;
/**
* 采用init初始化UtilDateConvert
* **/
@SuppressWarnings("serial")
public class UtilDateConverterInitWithServlert extends HttpServlet {
@Override
public void init() throws ServletException {
ConvertUtils.register(new UtilDateConvert(), java.util.Date.class);
}
}
3、部署配置文件web.xml,启动web服务器时注册自定义好的转换器。
<servlet>
<servlet-name>utilDateConvert</servlet-name>
<servlet-class>org.apache.convert.UtilDateConverterInitWithServlert</servlet-class>
<load-on-startup>10</load-on-startup>
</servlet>
至此,自定义号的转换器,就可以使用了。