`
phyeas
  • 浏览: 164313 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

关于Struts的BeanUtils.populate与LazyDynaBean联用

阅读更多
有这样一段代码:
            LazyDynaBean ll = new LazyDynaBean();
            
try {
                BeanUtils.populate(ll, request.getParameterMap());
            }
 catch (IllegalAccessException e) {
                e.printStackTrace();
            }
 catch (InvocationTargetException e) {
                e.printStackTrace();
            }

            Map params 
= ll.getMap();
以前运行过几次,都没什么问题.但是最近一个朋友用的时候却碰到了异常.
异常信息如下:

java.lang.IllegalArgumentException: No bean specified
 at org.apache.commons.beanutils.PropertyUtilsBean.getPropertyDescriptor(PropertyUtilsBean.java:751)
 at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:937)
 at org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811)
 at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298)
 at com.accp.t02.vss02.service.web.action.CstServiceAction.searchForDispatch(CstServiceAction.java:149)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)
 at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
 at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
 at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
 at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
 at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at com.accp.t02.vss02.filter.LanguageFilter.doFilter(LanguageFilter.java:21)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
 at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
 at java.lang.Thread.run(Thread.java:619)

我查来查去..始终觉得不是这段代码的问题
后来经过本人的不懈努力,,终于找到了问题的根源
原来BeanUtils.populate会自动解释传进来的参数..比如传进来的参数是
aa.bb,那么他就去找bean的aa属性中的bb属性...
而上面的代码使用的是一个map.没有aa.不能自动填充它的bb属性..就报了没有bean定义的异常..
解决该异常的方法:
1.将页面的参数名改为不带"."的参数
2:在map中添加需要的bean
分享到:
评论

相关推荐

    BeanMapper:比BeanUtils.copyProperties更快

    一个BeanUtils.copyProperties的小型快速替代。 起因 由于BeanUtils(Spring或Apache Commons)的copyProperties实现是利用反射实现的,它在大量调用时具有比较严重的性能问题。 BeanMapper通过javassist类库实现在...

    org.apache.commons.beanutils.jar

    6. **国际化支持**:通过与Apache Commons Locale配合,BeanUtils支持国际化和本地化,可以方便地处理不同地区的语言和格式设置。 `commons-license.txt`文件通常包含了Apache Commons BeanUtils的许可协议,它是...

    commons-beanutils.jar.zip

    《JSF中的commons-beanutils.jar:深入了解与应用》 在Java Server Faces(JSF)框架的开发过程中,经常会遇到一些常用的库文件,其中之一便是`commons-beanutils.jar`。这个小巧却强大的库,是Apache Commons项目...

    commons-beanutils-1.8.0.jar beanutils.jar beanutils.jar工具包

    commons-beanutils-1.8.0.jar beanutils.jar beanutils.jar工具包

    commons-beanutils.jar下载

    commons-beanutils.jar commons-beanutils.jar

    commons-beanutils.jar

    《深入理解Apache Commons BeanUtils与Java Web开发》 在Java Web开发中,Apache Commons BeanUtils是一个不可或缺的工具库,尤其在使用Struts2(S2SH)框架进行局部刷新和Ajax交互时,它扮演着至关重要的角色。...

    Beanutils基本用法.doc

    ### Beanutils基本用法详解 #### 一、Beanutils简介 Beanutils是一个强大的Java工具类库,主要用于简化JavaBean的属性操作。它提供了一系列的方法帮助开发者处理Bean的属性读取、设置以及转换等问题,尤其在处理...

    org.apache.commons.beanutils.BeanUtils实例

    此为BeanUtils的实例。其中apache的包有一个小的BUG已在其中说明。

    json用到的jar包(commons-beanutils.jar、commons-collections-3.1.jar等)

    json相关jar包(不使用springmvc开发时)。其中包含(commons-beanutils.jar、commons-collections-3.1.jar、commons-lang-2.6.jar、commons-logging.jar、ezmorph-1.0.6.jar、json-lib-2.2.3-jdk15.jar)

    commons.jar +commons-beanutils.jar

    这些模块可以被单独使用,也可以与其他Apache Commons模块或任何Java项目集成。 **commons.jar** 是一个综合性的包,可能包含了Apache Commons项目中多个子项目的类库。这个包的具体内容可能会因版本不同而有所变化...

    commons-beanutils.jar+commons-logging.jar

    Apache提供的这个beanutils包极大方便了javabean的 操作。包含了最新的commons-beanutils-1.9.3.jar和api文档,以及其依赖的commons-logging-1.2.jar包

    commons-beanutils.jar、commons-logging.jar两个包

    beanUtils 方便访问javaBean 附带支持框架 logging jar包,Apache提供的这个beanutils包极大方便了javabean的 操作。包含了最新的commons-beanutils-1.9.3.jar,以及其依赖的commons-logging-1.2.jar包

    BeanUtils.java

    对象和map对象互相转换

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

    然而,就像标题所指出的,“使用BeanUtils操作属性的一个小坑”,在实际使用过程中,我们可能会遇到一些意想不到的问题。这篇文章将深入探讨这个问题,并提供解决方案。 首先,BeanUtils的核心功能是属性的自动映射...

    JSF开发包:commons-beanutils.jar+commons-collections.jar+commons-digester.jar+jsf-api.jar+jsf-impl.jar+jstl.jar+standard.jar

    JSF开发所必需包:花了很长时间才收集好,很费时,现已收集好,何不分享给大家,让大家节省...commons-beanutils.jar commons-collections.jar commons-digester.jar jsf-api.jar jsf-impl.jar jstl.jar standard.jar

    commons-beanutils.jar.zip(173 k)

    commons-beanutils.jar.zip(173 k)commons-beanutils.jar.zip(173 k)commons-beanutils.jar.zip(173 k) jdbc 专用

    搭建struts1.x的jar包

    在Struts中,Validator框架可以与ActionForm配合使用,对用户的输入进行实时验证。 `commons-logging.jar`是Apache Commons Logging库,提供了一种灵活的日志记录机制。无论你的应用程序使用哪个日志框架(如log4j...

Global site tag (gtag.js) - Google Analytics