// 查询销售机会信息
public ActionForward doList(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
PrintWriter out = response.getWriter();
System.out.println("查询营销机会信息");
LazyDynaBean ll = new LazyDynaBean();
BeanUtils.populate(ll, request.getParameterMap());
Map paramMap = ll.getMap();
PageResult pgr = chanceService.findAll(paramMap);
System.out.println("总共有" + pgr.getRowCount() + "条营销机会信息");
String pgrstr = JSONSerializer.toJSON(pgr).toString();     //这里出了异常了
System.out.println(pgrstr);
out.print(pgrstr);
out.close();
return null;
}我是用ext框架的
异常为:2009-09-02 16:44:10,316 [org.apache.struts.actions.DispatchAction]-[ERROR] Dispatch[/sale] to method 'doList' returned an exception
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.accp.filter.RightFilter.doFilter(RightFilter.java:43)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.accp.filter.EncodeFilter.doFilter(EncodeFilter.java:22)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
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:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoSuchMethodError: org.apache.commons.collections.map.ListOrderedMap: method <init>()V not found
at net.sf.json.JSONObject.<init>(JSONObject.java:1529)
at net.sf.json.util.CycleDetectionStrategy.<clinit>(CycleDetectionStrategy.java:37)
at net.sf.json.JsonConfig.<clinit>(JsonConfig.java:58)
at net.sf.json.JSONSerializer.toJSON(JSONSerializer.java:84)
at com.accp.struts.action.ChanceAction.doList(ChanceAction.java:84)
... 34 more
2009-09-02 16:44:10,446 [org.apache.struts.action.RequestProcessor]-[WARN] Unhandled Exception thrown: class javax.servlet.ServletException
2009-9-2 16:44:10 org.apache.catalina.core.ApplicationContext log
信息: java.lang.NoSuchMethodError: org.apache.commons.collections.map.ListOrderedMap: method <init>()V not found我以为是缺少"commons-collections-3[1].2.1.jar"这个包,但我是我下载了,放进lib里面了,还是不行,真是不知道什么原因了..

解决方案 »

  1.   

    我略读了你的代码和错误信息,觉得可以这样试试。
    (1)
    String pgrstr = JSONSerializer.toJSON(pgr).toString();    //这里出了异常了 
    那你可以先不要放这些方法调用之类的东西,你可以直接用out.println();输出一个写死的JSON对象,看看前台是否正确,如果正确了你在去找String pgrstr = JSONSerializer.toJSON(pgr).toString();  这句出错的原因。
    (2)java.lang.NoSuchMethodError: 可能找不到方法,你再分析分析,是不是前后台写的不一致还是别的什么问题