今天做文件的导出遇到了
javax.servlet.ServletException: BeanUtils.populate
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:495)
org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:816)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:203)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
异常,解决10几分钟得到的结果 笼统的来说就是 类型转换失败 String无法转换成Date类型
解决方法有两种:
其一就是:
老办法,就是将你的Date类型数据对象改成String类型就不会出现这个错误了,当然这是没办法的办法。
本来今天我也想这么做了,(因为之前都是这么做的),但是想了想,在加上找资料,觉得应该还有比修改类型的方法更好的办法吧,所以就琢磨了琢磨,想出了第二个办法,闲话不多说,来看看第二个方法吧。
其二:
在你的ActionForm 或者重载set()方法, 及:
set****(String dateStr){
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); ----日期格式化样式
Date date=sdf.parse(str,new ParsePosition(0)); ---将传进来的dateStr转换成 Date类型
this.**** = date; -----你声明的 Date类型属性 就可以了
}
如果没有 ActionForm 就修改JavaBean的同一方法 ,做法一样
这样 传入Date类型和 String类型都不会报错了。。。。
当上传文件有<html:file> 时如果不定义表单为 enctype="multipart/form-data" 可能也会产生这个错误
javax.servlet.ServletException: BeanUtils.populate
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:495)
org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:816)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:203)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
异常,解决10几分钟得到的结果 笼统的来说就是 类型转换失败 String无法转换成Date类型
解决方法有两种:
其一就是:
老办法,就是将你的Date类型数据对象改成String类型就不会出现这个错误了,当然这是没办法的办法。
本来今天我也想这么做了,(因为之前都是这么做的),但是想了想,在加上找资料,觉得应该还有比修改类型的方法更好的办法吧,所以就琢磨了琢磨,想出了第二个办法,闲话不多说,来看看第二个方法吧。
其二:
在你的ActionForm 或者重载set()方法, 及:
set****(String dateStr){
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); ----日期格式化样式
Date date=sdf.parse(str,new ParsePosition(0)); ---将传进来的dateStr转换成 Date类型
this.**** = date; -----你声明的 Date类型属性 就可以了
}
如果没有 ActionForm 就修改JavaBean的同一方法 ,做法一样
这样 传入Date类型和 String类型都不会报错了。。。。
当上传文件有<html:file> 时如果不定义表单为 enctype="multipart/form-data" 可能也会产生这个错误