首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

struts中的actionform有关问题

2011-12-29 
struts中的actionform问题在actionform中所有的jsp页面元素都能被自动接收并转换为相对应的类型,唯独一个

struts中的actionform问题
在actionform中所有的jsp页面元素都能被自动接收并转换为相对应的类型,唯独一个漏网之鱼,就是date对象,需要自己手动进行转换,那么是struts框架故意做成这样还是一个漏洞?如果是故意做成这样,意义何在?

[解决办法]
date 要手动封装到bean里
[解决办法]
要手动封装下
[解决办法]
一:字面都会转化成字符串形式,如果20000-10-10 这个是否符合形式呢?有可能出现异常。出现异常是否是工程所需呢?
二:只是一个字面转化就整的这么麻烦,索性还不如给客户自定义。
[解决办法]
package com.zzq.oa.util;

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

import org.apache.commons.beanutils.Converter;

public class UtilDateConverter implements Converter {

private static SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");

public Object convert(Class type, Object value) {
if (value == null) {
return value;
}
if (value instanceof Date) {
return value;
}
if (value instanceof String) {
try {
return format.parse((String)value);
} catch (ParseException ignore) {
}
}
return null;
}

}


package com.zzq.oa.util;

import java.util.Date;

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

import org.apache.commons.beanutils.ConvertUtils;


public class InitServlet extends HttpServlet {

@Override
public void init() throws ServletException {

//注册日期类型的转换器
ConvertUtils.register(new UtilDateConverter(), Date.class);

}

}

热点排行
Bad Request.