自定义Struts1转换器Converter

来源:互联网 发布:linux开发工程师 编辑:程序博客网 时间:2024/05/22 00:12

第一步:自定义一个转换器,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>

至此,自定义号的转换器,就可以使用了。

原创粉丝点击