Struts ActionForm中自定义转换器Converter(简单易懂)

步骤:
--实现Converter接口
--重写convert方法
--注册转换器(servlet方式或plugin方式)
----servlet方式
------web.xml文件配置servlet
----plugin方式
------struts-config.xml中配置plugin
-------------------------------------------------------------------------------------------
实例如下:

为java.util.Date自定义一个转换器

实现Converter接口的TestUtilDateConverter.java

package com.yulin.struts;

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

import org.apache.commons.beanutils.Converter;

public class TestUtilDateConverter implements Converter {

//重写convert方法
public Object convert(Class type, Object value) {
   if(value == null){
    return new Date();
   }
   if(value instanceof Date){
    return value;
   }
   if(value instanceof String){
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    try {
     return sdf.parse((String)value);
    } catch (ParseException e) {
     e.printStackTrace();
    }
   }
   return null;
}

}


注册转换器(servlet方式或plugin方式)

以servlet方式注册转换器

package com.yulin.struts;

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

import org.apache.commons.beanutils.ConvertUtils;

public class TestUtilDateConverterServlet extends HttpServlet {

@Override
public void init() throws ServletException {

//注册转换器
   ConvertUtils.register
(new TestUtilDateConverter(), java.util.Date.class);
}

}
----servlet方式--web.xml文件配置servlet

<servlet>
   <servlet-name>TestUtilDateConverterServlet</servlet-name>
   <servlet-class>com.yulin.struts.TestUtilDateConverterServlet</servlet-class>
   <load-on-startup>3</load-on-startup>
</servlet>

以plugin方式注册转换器

package com.yulin.struts;

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;

public class TestUtilDateConverterPlugin implements PlugIn {

public void destroy() {
}

public void init(ActionServlet arg0, ModuleConfig arg1)
    throws ServletException {

   //注册转换器
   ConvertUtils.register
(new TestUtilDateConverter(), java.util.Date.class);
}

}

----plugin方式--struts-config.xml中配置plugin

<plug-in className="com.yulin.struts.TestUtilDateConverterPlugin"/>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值