`
谢其宝
  • 浏览: 7236 次
  • 性别: Icon_minigender_1
  • 来自: 福州
文章分类
社区版块
存档分类
最新评论

常见的BeanUtils.populate异常 解决方案

阅读更多
今天做文件的导出遇到了
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基本用法.doc

    ### Beanutils基本用法详解 #### 一、Beanutils简介 Beanutils是一个强大的Java工具类库,主要用于简化JavaBean的属性操作...无论是单个Bean的属性操作,还是复杂的集合处理,Beanutils都能提供简洁高效的解决方案。

    BeanUtils.java

    对象和map对象互相转换

    使用BeanUtils操作属性的一个小坑

    5. **使用BeanUtils.copyProperties()的自定义转换器**:如果属性类型不匹配,可以实现`org.apache.commons.beanutils.Converter`接口,然后通过`registerConverter()`方法注册,使BeanUtils在遇到这种类型转换时...

    [] - 2022-08-06 慎用BeanUtils,性能真的拉跨!.pdf

    互联网资讯,技术简介,IT、AI技术,人工智能

    BeanUtils.zip

    BeanUtils.populate(Object,Map,? extends Object&gt;) 将Map集合快速映射到javaBean: 配合文章使用:https://blog.csdn.net/qq_42292831/article/details/106336288

    BeanUtils的jar包

    BeanUtils的jar包

    commons-beanutils-1.8.0.jar

    import org.apache.commons.beanutils.BeanUtils; public class User { private String name; private int age; // getters and setters... } Map, Object&gt; map = new HashMap(); map.put("name", "张三"); ...

    beanUtils..jar

    例如,在Web应用中,表单提交的数据通常需要转换为JavaBean对象,这时BeanUtils的`populate()`方法就能派上用场。此外,BeanUtils也可以配合其他Apache Commons库,如Collections和Validator,提供更强大的功能。 ...

    BeanUtils工具包

    BeanUtils.populate(user, params); } catch (IllegalAccessException | InvocationTargetException e) { e.printStackTrace(); } ``` 四、注意事项与优化 - 调用BeanUtils方法时,可能会抛出...

    commons-beanutils.jar

    2. **动态属性访问(Dynamic Property Access)**:BeanUtils支持通过字符串形式的属性名来访问和设置JavaBean的属性,即使该属性不存在,也不会抛出异常。这在处理未知或动态属性时非常有用。 3. **类型转换(Type...

    Java Web程序设计入门课件-BeanUtils工具.pptx

    BeanUtils工具的核心是`org.apache.commons.beanutils.BeanUtils`类。这个类提供了大量静态方法,用于复制对象属性、设置和获取JavaBean的属性值。BeanUtils的设计理念是基于反射机制,它可以根据对象的属性名动态地...

    beanutils的jar包

    此外,对于集合类型的属性,BeanUtils也提供了解决方案。例如,如果一个Bean有一个`List`类型的属性,我们可以使用`BeanUtils.populate()`方法来批量设置属性值: ```java List&lt;String&gt; values = new ArrayList(); ...

    JavaWeb程序设计入门课件BeanUtils工具共6页

    需要注意的是,BeanUtils在处理类型转换时可能会抛出异常,如`IllegalAccessException`, `InvocationTargetException`等,因此在实际使用中需要进行异常处理。 在提供的课件“JavaWeb程序设计入门课件BeanUtils工具...

    BeanUtils工具类

    如果默认的转换策略不能满足需求,可以通过实现`org.apache.commons.beanutils.Converter`接口创建自定义的转换器,并注册到ConvertUtils中。 总的来说,BeanUtils工具类大大简化了JavaBean的属性操作,提高了代码...

    beanutils高手学习笔记,重要的学习笔记,想提高的看

    - 调用`setProperty()`或`getProperty()`时,如果属性不存在或类型不匹配,BeanUtils可能会抛出异常。因此,在实际使用时,应考虑异常处理和类型检查。 - 自定义Converter时,要注意注册过程,通常需要创建`...

    BeanUtils.rar

    在Java开发中,BeanUtils是一个常用的工具包,主要用于对象与JavaBean之间的属性映射操作,极大地简化了数据处理。BeanUtils是由Apache Commons项目提供的,它包含在Apache Commons BeanUtils库中。这个库提供了许多...

    使用servlet实现注册&登录&解决注册乱码&beanutils;的使用

    import org.apache.commons.beanutils.BeanUtils; public void registerUser(User user, HttpServletRequest request) { try { // 将请求参数填充到User对象 BeanUtils.populate(user, request.getParameterMap...

    beanutils工具类

    在处理JavaBean的集合时,`BeanUtils`还提供了`populate()`方法,它可以一次性将Map对象中的键值对设置到JavaBean对象上,这在处理表单数据或配置文件时非常有用。 除了上述核心功能外,`BeanUtils`还包含了处理...

    BeanUtils相关jar包

    import org.apache.commons.beanutils.BeanUtils; Bean source = new SourceBean(); Bean target = new TargetBean(); // 将source的属性复制到target BeanUtils.copyProperties(target, source); ``` 2. *...

    http-request例子

    BeanUtils.populate(loginUser,map); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } //4.调用UserDao的login方法 UserDao...

Global site tag (gtag.js) - Google Analytics