有这样一段代码:
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
分享到:
相关推荐
一个BeanUtils.copyProperties的小型快速替代。 起因 由于BeanUtils(Spring或Apache Commons)的copyProperties实现是利用反射实现的,它在大量调用时具有比较严重的性能问题。 BeanMapper通过javassist类库实现在...
6. **国际化支持**:通过与Apache Commons Locale配合,BeanUtils支持国际化和本地化,可以方便地处理不同地区的语言和格式设置。 `commons-license.txt`文件通常包含了Apache Commons BeanUtils的许可协议,它是...
《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.jar commons-beanutils.jar
《深入理解Apache Commons BeanUtils与Java Web开发》 在Java Web开发中,Apache Commons BeanUtils是一个不可或缺的工具库,尤其在使用Struts2(S2SH)框架进行局部刷新和Ajax交互时,它扮演着至关重要的角色。...
### Beanutils基本用法详解 #### 一、Beanutils简介 Beanutils是一个强大的Java工具类库,主要用于简化JavaBean的属性操作。它提供了一系列的方法帮助开发者处理Bean的属性读取、设置以及转换等问题,尤其在处理...
此为BeanUtils的实例。其中apache的包有一个小的BUG已在其中说明。
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)
这些模块可以被单独使用,也可以与其他Apache Commons模块或任何Java项目集成。 **commons.jar** 是一个综合性的包,可能包含了Apache Commons项目中多个子项目的类库。这个包的具体内容可能会因版本不同而有所变化...
Apache提供的这个beanutils包极大方便了javabean的 操作。包含了最新的commons-beanutils-1.9.3.jar和api文档,以及其依赖的commons-logging-1.2.jar包
beanUtils 方便访问javaBean 附带支持框架 logging jar包,Apache提供的这个beanutils包极大方便了javabean的 操作。包含了最新的commons-beanutils-1.9.3.jar,以及其依赖的commons-logging-1.2.jar包
对象和map对象互相转换
然而,就像标题所指出的,“使用BeanUtils操作属性的一个小坑”,在实际使用过程中,我们可能会遇到一些意想不到的问题。这篇文章将深入探讨这个问题,并提供解决方案。 首先,BeanUtils的核心功能是属性的自动映射...
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) jdbc 专用
在Struts中,Validator框架可以与ActionForm配合使用,对用户的输入进行实时验证。 `commons-logging.jar`是Apache Commons Logging库,提供了一种灵活的日志记录机制。无论你的应用程序使用哪个日志框架(如log4j...