今天做文件的导出遇到了
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" 可能也会产生这个错误
分享到:
相关推荐
### Beanutils基本用法详解 #### 一、Beanutils简介 Beanutils是一个强大的Java工具类库,主要用于简化JavaBean的属性操作...无论是单个Bean的属性操作,还是复杂的集合处理,Beanutils都能提供简洁高效的解决方案。
对象和map对象互相转换
5. **使用BeanUtils.copyProperties()的自定义转换器**:如果属性类型不匹配,可以实现`org.apache.commons.beanutils.Converter`接口,然后通过`registerConverter()`方法注册,使BeanUtils在遇到这种类型转换时...
互联网资讯,技术简介,IT、AI技术,人工智能
BeanUtils.populate(Object,Map,? extends Object>) 将Map集合快速映射到javaBean: 配合文章使用:https://blog.csdn.net/qq_42292831/article/details/106336288
BeanUtils的jar包
import org.apache.commons.beanutils.BeanUtils; public class User { private String name; private int age; // getters and setters... } Map, Object> map = new HashMap(); map.put("name", "张三"); ...
例如,在Web应用中,表单提交的数据通常需要转换为JavaBean对象,这时BeanUtils的`populate()`方法就能派上用场。此外,BeanUtils也可以配合其他Apache Commons库,如Collections和Validator,提供更强大的功能。 ...
BeanUtils.populate(user, params); } catch (IllegalAccessException | InvocationTargetException e) { e.printStackTrace(); } ``` 四、注意事项与优化 - 调用BeanUtils方法时,可能会抛出...
2. **动态属性访问(Dynamic Property Access)**:BeanUtils支持通过字符串形式的属性名来访问和设置JavaBean的属性,即使该属性不存在,也不会抛出异常。这在处理未知或动态属性时非常有用。 3. **类型转换(Type...
BeanUtils工具的核心是`org.apache.commons.beanutils.BeanUtils`类。这个类提供了大量静态方法,用于复制对象属性、设置和获取JavaBean的属性值。BeanUtils的设计理念是基于反射机制,它可以根据对象的属性名动态地...
此外,对于集合类型的属性,BeanUtils也提供了解决方案。例如,如果一个Bean有一个`List`类型的属性,我们可以使用`BeanUtils.populate()`方法来批量设置属性值: ```java List<String> values = new ArrayList(); ...
需要注意的是,BeanUtils在处理类型转换时可能会抛出异常,如`IllegalAccessException`, `InvocationTargetException`等,因此在实际使用中需要进行异常处理。 在提供的课件“JavaWeb程序设计入门课件BeanUtils工具...
如果默认的转换策略不能满足需求,可以通过实现`org.apache.commons.beanutils.Converter`接口创建自定义的转换器,并注册到ConvertUtils中。 总的来说,BeanUtils工具类大大简化了JavaBean的属性操作,提高了代码...
- 调用`setProperty()`或`getProperty()`时,如果属性不存在或类型不匹配,BeanUtils可能会抛出异常。因此,在实际使用时,应考虑异常处理和类型检查。 - 自定义Converter时,要注意注册过程,通常需要创建`...
在Java开发中,BeanUtils是一个常用的工具包,主要用于对象与JavaBean之间的属性映射操作,极大地简化了数据处理。BeanUtils是由Apache Commons项目提供的,它包含在Apache Commons BeanUtils库中。这个库提供了许多...
import org.apache.commons.beanutils.BeanUtils; public void registerUser(User user, HttpServletRequest request) { try { // 将请求参数填充到User对象 BeanUtils.populate(user, request.getParameterMap...
在处理JavaBean的集合时,`BeanUtils`还提供了`populate()`方法,它可以一次性将Map对象中的键值对设置到JavaBean对象上,这在处理表单数据或配置文件时非常有用。 除了上述核心功能外,`BeanUtils`还包含了处理...
import org.apache.commons.beanutils.BeanUtils; Bean source = new SourceBean(); Bean target = new TargetBean(); // 将source的属性复制到target BeanUtils.copyProperties(target, source); ``` 2. *...
BeanUtils.populate(loginUser,map); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } //4.调用UserDao的login方法 UserDao...