web开发中格式化所有日期

java.util.Date的转换器



import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.apache.commons.beanutils.Converter;
/**
* java.util.Date转换器
* 实现Converter 接口convert方法

*
*/
public class DateFormatConverter implements Converter {

     public Object convert(Class type, Object value) {

          if(value==null)//如果为空,返回
          {
               return value;
          }
          if(value instanceof Date)//如果类型是java.uitl.Date类型,返回
          {
               return value;
          }
          if(value instanceof String)//如果类型是String,开始转换成java.util.Date,再返回
          {         //也就是把一个字符串转换成一个日期
               SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");//格式化日期的类
               try
               {
                    return sdf.parse((String)value);//将String转换为java.util.Date类型
               }
               catch (ParseException e) {
                e.printStackTrace();
               }
          }
          return null;
     }  

}

注册转换器(用一个servlet.java实现的)


import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;

import org.apache.commons.beanutils.ConvertUtils;
/**
* 清册java.util.Date转换器
* @author Administrator
*
*/
public class DateFormatConverterInitWithServlet extends HttpServlet {

@Override
public void init() throws ServletException {
   
      DateFormatConverter  converter=new DateFormatConverter ();//实例一个转换器
      ConvertUtils.register(converter, java.util.Date.class);//将转换器注册进去
     }

}


web.xml的配制

<servlet>
   <servlet-name>DateFormatConverterInitWithServlet</servlet-name>
   <servlet-class>包名.DateFormatConverterInitWithServlet</servlet-class>
   <load-on-startup>2</load-on-startup>
  </servlet>

*****************另一种注册转换器的方法(struts plugin)*****************



import javax.servlet.ServletException;

import org.apache.commons.beanutils.ConvertUtils;
import org.apache.struts.action.ActionServlet;
import org.apache.struts.action.PlugIn;
import org.apache.struts.config.ModuleConfig;
/**
* 注册java.util.Date,采用plugin
* @author Administrator
*实现PlugIn接口的init方法
*/
public class DateFormatConverterInitWithPlugin implements PlugIn {

         public void destroy() {
         }

         public void init(ActionServlet servlet, ModuleConfig config)//这是struts提供的
           throws ServletException {
      UtilDateConverter converter=new UtilDateConverter();//实例一个转换器
      ConvertUtils.register(converter, java.util.Date.class);//将转换器注册进去
         }

}
struts-config.xml的配置

    <plug-in className="包名.DateFormatConverterInitWithPlugin " />

猜你喜欢

转载自tao415652813.iteye.com/blog/1287398
今日推荐