Struts1.2学习笔记(一)开发自己的类型转换器

最近学习了一些关于Struts1.2的知识,现做以总结。
Struts1.2中JSP表单向Action提交时有些表单数据不能直接转换成ActionForm中的对应的属性类型,而只能是String的初态,为了能实现本功能做如下改善。
1.新建WebProject->ValidateProject
2.创建相应的类文件

[b]DateConverter.class[/b] 本类中创建了一个实现Struts中的Converter中转换器接口的一个自定义的转换类。功能主要是将JSP页面中的表单中相应的时间字符串转换成对应的java.util.Date对象
package com.validate.web.struts.beanutils.convorter;

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

import org.apache.commons.beanutils.Converter;

public class DateConverter implements Converter {

private String dateFormat = null;
private SimpleDateFormat format = null;

public DateConverter(){
format = new SimpleDateFormat("yyyy-MM-dd");
}
public DateConverter (String dateFormat){
this.dateFormat = dateFormat;
format = new SimpleDateFormat(dateFormat);
}

public Object convert(Class clazz, Object value) {
System.out.println("myClazz Name is :" + clazz.getName());
String src = null;
Date dest = null;
if(value instanceof String){
try {
src = (String)value;
if(src.trim().equals(""))
{
System.out.println("This Form Field value is null ");
}
else
{
dest = format.parse(src);
System.out.println("DateConverter ................................");
dest = format.parse(src);
}

} catch (ParseException e) {
e.printStackTrace();
}

}


return dest;
}

}
定义自己的ActionServlet用以在启动Struts的时候将转换器注册
package com.validate.web.struts.action.servlet;

import java.util.Date;

import javax.servlet.ServletException;

import org.apache.commons.beanutils.ConvertUtils;
import org.apache.struts.action.ActionServlet;

import com.validate.util.Gender;
import com.validate.web.struts.beanutils.convorter.DateConverter;
import com.validate.web.struts.beanutils.convorter.GenderConverter;

public class JlxxtActionServlet extends ActionServlet {

@Override
public void init() throws ServletException {
System.out.println("Init JlxxtActionServlet..........................");
ConvertUtils.register(new DateConverter("yyyy-MM-dd"), Date.class);
super.init();
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值